Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

context_tracking: Fix KCSAN noinstr violation

With KCSAN enabled, even empty inline stubs can be out-of-lined.

Force the context_tracking_guest_exit() stub inline.

Fixes the following warnings:

vmlinux.o: warning: objtool: vmx_vcpu_enter_exit+0x1be: call to context_tracking_guest_exit() leaves .noinstr.text section
vmlinux.o: warning: objtool: svm_vcpu_enter_exit+0x85: call to context_tracking_guest_exit() leaves .noinstr.text section

Signed-off-by: Josh Poimboeuf <jpoimboe@kernel.org>
Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/dc93f45abdec90c171108b4b590b7fff5790963c.1681320026.git.jpoimboe@kernel.org

authored by

Josh Poimboeuf and committed by
Peter Zijlstra
e8deb00c 7f530fba

+1 -1
+1 -1
include/linux/context_tracking.h
··· 97 97 static inline void exception_exit(enum ctx_state prev_ctx) { } 98 98 static inline int ct_state(void) { return -1; } 99 99 static __always_inline bool context_tracking_guest_enter(void) { return false; } 100 - static inline void context_tracking_guest_exit(void) { } 100 + static __always_inline void context_tracking_guest_exit(void) { } 101 101 #define CT_WARN_ON(cond) do { } while (0) 102 102 #endif /* !CONFIG_CONTEXT_TRACKING_USER */ 103 103