commit 7f4b5cde2409 ("kvm: Disable objtool frame pointer checking for vmenter.S") had added the vmenter.o file to the exception list. objtool gives the following warnings in the newer kernel builds: arch/x86/kvm/kvm-amd.o: warning: objtool: __svm_vcpu_run+0x17d: BP used as a scratch register arch/x86/kvm/kvm-amd.o: warning: objtool: __svm_sev_es_vcpu_run+0x72: BP used as a scratch register As kvm-amd.o is a link time object, skipping the kvm-amd.o is not possible as per the objtool documentation, better to skip the offending functions. Functions __svm_vcpu_run() and __svm_sev_es_vcpu_run() saves and restores RBP. Below is the snippet: SYM_FUNC_START(__svm_vcpu_run) push %_ASM_BP <…> pop %_ASM_BP RET Add exceptions to skip both these functions. Remove the OBJECT_FILES_NON_STANDARD for vmenter.o Cc: Josh Poimboeuf <jpoimboe@xxxxxxxxxx> Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx> Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx> Cc: Randy Dunlap <rdunlap@xxxxxxxxxxxxx> Cc: Tom Lendacky <thomas.lendacky@xxxxxxx> Cc: Sean Christopherson <seanjc@xxxxxxxxxx> Reported-by: Ravi Bangoria <ravi.bangoria@xxxxxxx> Signed-off-by: Nikunj A Dadhania <nikunj@xxxxxxx> --- arch/x86/kvm/Makefile | 4 ---- arch/x86/kvm/svm/vmenter.S | 2 ++ 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/arch/x86/kvm/Makefile b/arch/x86/kvm/Makefile index 80e3fe184d17..0c5c2f090e93 100644 --- a/arch/x86/kvm/Makefile +++ b/arch/x86/kvm/Makefile @@ -3,10 +3,6 @@ ccflags-y += -I $(srctree)/arch/x86/kvm ccflags-$(CONFIG_KVM_WERROR) += -Werror -ifeq ($(CONFIG_FRAME_POINTER),y) -OBJECT_FILES_NON_STANDARD_vmenter.o := y -endif - include $(srctree)/virt/kvm/Makefile.kvm kvm-y += x86.o emulate.o i8259.o irq.o lapic.o \ diff --git a/arch/x86/kvm/svm/vmenter.S b/arch/x86/kvm/svm/vmenter.S index 8e8295e774f0..8fd37d661c33 100644 --- a/arch/x86/kvm/svm/vmenter.S +++ b/arch/x86/kvm/svm/vmenter.S @@ -289,6 +289,7 @@ SYM_FUNC_START(__svm_vcpu_run) _ASM_EXTABLE(7b, 70b) SYM_FUNC_END(__svm_vcpu_run) +STACK_FRAME_NON_STANDARD(__svm_vcpu_run) /** * __svm_sev_es_vcpu_run - Run a SEV-ES vCPU via a transition to SVM guest mode @@ -388,3 +389,4 @@ SYM_FUNC_START(__svm_sev_es_vcpu_run) _ASM_EXTABLE(1b, 3b) SYM_FUNC_END(__svm_sev_es_vcpu_run) +STACK_FRAME_NON_STANDARD_FP(__svm_sev_es_vcpu_run) -- 2.34.1