Skip to content

Cannot build due to evict-rs errors #3

@martinledl

Description

@martinledl

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions