Skip to content

Commit 19597a7

Browse files
committed
KVM: SVM: Create a stack frame in __svm_vcpu_run() for unwinding
Unconditionally create a stack frame in __svm_vcpu_run() to play nice with unwinding via frame pointers, at least until the point where RBP is loaded with the guest's value. Don't bother conditioning the code on CONFIG_FRAME_POINTER=y, as RBP needs to be saved and restored anyways (due to it being clobbered with the guest's value); omitting the "MOV RSP, RBP" is not worth the extra #ifdef. Creating a stack frame will allow removing the OBJECT_FILES_NON_STANDARD tag from vmenter.S once __svm_sev_es_vcpu_run() is fixed to not stomp all over RBP for no reason. Reviewed-by: Tom Lendacky <thomas.lendacky@amd.com> Link: https://lore.kernel.org/r/20240223204233.3337324-2-seanjc@google.com Signed-off-by: Sean Christopherson <seanjc@google.com>
1 parent 4710e4f commit 19597a7

1 file changed

Lines changed: 1 addition & 0 deletions

File tree

arch/x86/kvm/svm/vmenter.S

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,7 @@
9999
*/
100100
SYM_FUNC_START(__svm_vcpu_run)
101101
push %_ASM_BP
102+
mov %_ASM_SP, %_ASM_BP
102103
#ifdef CONFIG_X86_64
103104
push %r15
104105
push %r14

0 commit comments

Comments
 (0)