Skip to content

Commit 683c6a5

Browse files
committed
fix(sev): do not use rbx register in asm!()
error: invalid register rbx: rbx is used internally by LLVM and cannot be used as an operand for inline asm See: rust-lang/rust#84658 (comment) and: https://github.com/rust-lang/rust/pull/84658/files#diff-d7283132d97a993fad4e2d491ac883dbce4e17fe248cdf37fa3f9334e2a5a115 Signed-off-by: Harald Hoyer <[email protected]>
1 parent 8e16492 commit 683c6a5

File tree

2 files changed

+13
-14
lines changed

2 files changed

+13
-14
lines changed

helper/parse-trace.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ while read line; do
4242
fi
4343

4444
if [[ $ADDR2LINE = "REGS" ]]; then
45-
if [[ $line = *"rflags:"* ]] || [[ $line = *"rsp:"* ]] || [[ $line = *"rbp:"* ]]; then
45+
if [[ $line = *"rflags:"* ]] || [[ $line = *"rsp:"* ]] || [[ $line = *"rbp:"* ]] || [[ $line = *"rbx:"* ]]; then
4646
continue
4747
fi
4848
fi

internal/shim-sev/src/asm.rs

Lines changed: 12 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -56,19 +56,18 @@ pub unsafe fn _enarx_asm_triple_fault() -> ! {
5656
// Provoke an #UD, which will lead to a triple fault, because of the invalid IDT
5757
asm!("ud2",
5858
in("rax") frames[2], // the first two frames are from panic
59-
in("rbx") frames[3],
60-
in("rcx") frames[4],
61-
in("rdx") frames[5],
62-
in("rsi") frames[6],
63-
in("rdi") frames[7],
64-
in("r8") frames[8],
65-
in("r9") frames[9],
66-
in("r10") frames[10],
67-
in("r11") frames[11],
68-
in("r12") frames[12],
69-
in("r13") frames[13],
70-
in("r14") frames[14],
71-
in("r15") frames[15],
59+
in("rcx") frames[3],
60+
in("rdx") frames[4],
61+
in("rsi") frames[5],
62+
in("rdi") frames[6],
63+
in("r8") frames[7],
64+
in("r9") frames[8],
65+
in("r10") frames[9],
66+
in("r11") frames[10],
67+
in("r12") frames[11],
68+
in("r13") frames[12],
69+
in("r14") frames[13],
70+
in("r15") frames[14],
7271
options(nomem, nostack)
7372
);
7473

0 commit comments

Comments
 (0)