KVM: VMX: use __always_inline for is_td_vcpu and is_td
authorEdward Adam Davis <eadavis@qq.com>
Tue, 27 May 2025 08:44:37 +0000 (16:44 +0800)
committerPaolo Bonzini <pbonzini@redhat.com>
Tue, 27 May 2025 16:12:49 +0000 (12:12 -0400)
is_td() and is_td_vcpu() are used in no-instrumentation sections; use
__always_inline instead of inline.

vmlinux.o: error: objtool: vmx_handle_nmi+0x47:
        call to is_td_vcpu.isra.0() leaves .noinstr.text section

Fixes: 7172c753c26a ("KVM: VMX: Move common fields of struct vcpu_{vmx,tdx} to a struct")
Signed-off-by: Edward Adam Davis <eadavis@qq.com>
Message-ID: <tencent_1A767567C83C1137829622362E4A72756F09@qq.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
arch/x86/kvm/vmx/common.h

index 8f46a06e2c44147aa8f6ee501f1f32a6ff0eac09..a0c5e8781c336b8b936dd5050ef794f5ff0f1b91 100644 (file)
@@ -71,8 +71,8 @@ static __always_inline bool is_td_vcpu(struct kvm_vcpu *vcpu)
 
 #else
 
-static inline bool is_td(struct kvm *kvm) { return false; }
-static inline bool is_td_vcpu(struct kvm_vcpu *vcpu) { return false; }
+static __always_inline bool is_td(struct kvm *kvm) { return false; }
+static __always_inline bool is_td_vcpu(struct kvm_vcpu *vcpu) { return false; }
 
 #endif