Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cannot build due to evict-rs errors #3

Open
martinledl opened this issue Apr 24, 2024 · 0 comments
Open

Cannot build due to evict-rs errors #3

martinledl opened this issue Apr 24, 2024 · 0 comments

Comments

@martinledl
Copy link

martinledl commented Apr 24, 2024

When trying to build POCs in the poc/crypto_attacker or poc/crypto_victim I was unable to get them to build because of following errors:

warning: libaugury-ffi-sys@0.1.0: src/c_augury.c:78:25: warning: initializing 'volatile uint64_t **' (aka 'volatile unsigned long long **') with an expression of type 'uint64_t **' (aka 'unsigned long long **') discards qualifiers in nested pointer types [-Wincompatible-pointer-types-discards-qualifiers]
warning: libaugury-ffi-sys@0.1.0:     volatile uint64_t **aop = (uint64_t**)evset_start;
warning: libaugury-ffi-sys@0.1.0:                         ^     ~~~~~~~~~~~~~~~~~~~~~~~
warning: libaugury-ffi-sys@0.1.0: 1 warning generated.
   Compiling evict-rs v0.1.0 (/Users/user/GoFetch/poc/evict-rs)
   Compiling crypto_attacker v0.1.0 (/Users/user/GoFetch/poc/crypto_attacker)
error: invalid instruction mnemonic 'dsb'
  --> /Users/user/GoFetch/poc/evict-rs/src/eviction_set.rs:68:36
   |
68 |         unsafe { core::arch::asm!("dsb ish") };
   |                                    ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     dsb ish
   |     ^^^

error: invalid instruction mnemonic 'isb'
  --> /Users/user/GoFetch/poc/evict-rs/src/eviction_set.rs:69:36
   |
69 |         unsafe { core::arch::asm!("isb sy") };
   |                                    ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     isb sy
   |     ^^^

error: invalid instruction mnemonic 'dsb'
  --> /Users/user/GoFetch/poc/evict-rs/src/eviction_set.rs:74:36
   |
74 |         unsafe { core::arch::asm!("dsb ish") };
   |                                    ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     dsb ish
   |     ^^^

error: invalid instruction mnemonic 'isb'
  --> /Users/user/GoFetch/poc/evict-rs/src/eviction_set.rs:75:36
   |
75 |         unsafe { core::arch::asm!("isb sy") };
   |                                    ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     isb sy
   |     ^^^

error: invalid instruction mnemonic 'dsb'
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:68:24
   |
68 |         unsafe { asm!("dsb ish") };
   |                        ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     dsb ish
   |     ^^^

error: invalid instruction mnemonic 'isb'
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:69:24
   |
69 |         unsafe { asm!("isb sy") };
   |                        ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     isb sy
   |     ^^^

error: invalid instruction mnemonic 'dsb'
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:71:24
   |
71 |         unsafe { asm!("dsb ish") };
   |                        ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     dsb ish
   |     ^^^

error: invalid instruction mnemonic 'isb'
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:72:24
   |
72 |         unsafe { asm!("isb sy") };
   |                        ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     isb sy
   |     ^^^

error: invalid instruction mnemonic 'eor'
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:27:14
   |
27 |             "eor x0, x0, x0",
   |              ^
   |
note: instantiated into assembly here
  --> <inline asm>:2:2
   |
2  |     eor x0, x0, x0
   |     ^^^

error: invalid operand for instruction
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:29:14
   |
29 |             "str x0, [{cnt_addr}]",
   |              ^
   |
note: instantiated into assembly here
  --> <inline asm>:4:1
   |
4  | str x0, [rax]
   | ^

error: invalid operand for instruction
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:30:14
   |
30 |             "add x0, x0, 1",
   |              ^
   |
note: instantiated into assembly here
  --> <inline asm>:5:1
   |
5  | add x0, x0, 1
   | ^

error: invalid instruction mnemonic 'b'
  --> /Users/user/GoFetch/poc/evict-rs/src/multithread_counter.rs:31:14
   |
31 |             "b 1b",
   |              ^
   |
note: instantiated into assembly here
  --> <inline asm>:6:1
   |
6  | b 1b
   | ^

error: could not compile `evict-rs` (lib) due to 12 previous errors

cargo version: cargo 1.76.0 (c84b36747 2024-01-18)

Commands which I tried and resulted in the error:
cargo b -r --example ctswap_attacker
cargo b -r --example dyld_search
cargo b -r --example ctswap_victim
cargo b -r --example rsa_attacker --features rsa

MacBook Pro (Apple M1 Pro chip) - macOS Sonoma 14.4.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

1 participant