Skip to content

Cannot build due to evict-rs errors #3

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions