OSDN Git Service

x86: Always inline context_tracking_guest_enter()
authorPeter Zijlstra <peterz@infradead.org>
Thu, 24 Jun 2021 09:41:05 +0000 (11:41 +0200)
committerPeter Zijlstra <peterz@infradead.org>
Wed, 15 Sep 2021 13:51:46 +0000 (15:51 +0200)
Yes, it really did out-of-line this....

vmlinux.o: warning: objtool: vmx_vcpu_enter_exit()+0x31: call to context_tracking_guest_enter() leaves .noinstr.text section

000000000019f660 <context_tracking_guest_enter>:
  19f660: e8 00 00 00 00        callq  19f665 <context_tracking_guest_enter+0x5> 19f661: R_X86_64_PLT32 __sanitizer_cov_trace_pc-0x4
  19f665: 31 c0                 xor    %eax,%eax
  19f667: c3                    retq

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20210624095148.003928226@infradead.org
include/linux/context_tracking.h

index 4d7fced..7a14807 100644 (file)
@@ -105,7 +105,7 @@ static inline void user_exit_irqoff(void) { }
 static inline enum ctx_state exception_enter(void) { return 0; }
 static inline void exception_exit(enum ctx_state prev_ctx) { }
 static inline enum ctx_state ct_state(void) { return CONTEXT_DISABLED; }
-static inline bool context_tracking_guest_enter(void) { return false; }
+static __always_inline bool context_tracking_guest_enter(void) { return false; }
 static inline void context_tracking_guest_exit(void) { }
 
 #endif /* !CONFIG_CONTEXT_TRACKING */