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

context_tracking: Always inline empty stubs

Because GCC is seriously challenged..

vmlinux.o: warning: objtool: enter_from_user_mode+0x85: call to context_tracking_enabled() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x8f: call to context_tracking_enabled() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0x85: call to context_tracking_enabled() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0x85: call to context_tracking_enabled() leaves .noinstr.text section

Signed-off-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Acked-by: Mark Rutland <mark.rutland@arm.com>
Link: https://lkml.kernel.org/r/20220526105958.134113388@infradead.org

+4 -4
+4 -4
include/linux/context_tracking_state.h
··· 46 46 return __this_cpu_read(context_tracking.state) == CONTEXT_USER; 47 47 } 48 48 #else 49 - static inline bool context_tracking_in_user(void) { return false; } 50 - static inline bool context_tracking_enabled(void) { return false; } 51 - static inline bool context_tracking_enabled_cpu(int cpu) { return false; } 52 - static inline bool context_tracking_enabled_this_cpu(void) { return false; } 49 + static __always_inline bool context_tracking_in_user(void) { return false; } 50 + static __always_inline bool context_tracking_enabled(void) { return false; } 51 + static __always_inline bool context_tracking_enabled_cpu(int cpu) { return false; } 52 + static __always_inline bool context_tracking_enabled_this_cpu(void) { return false; } 53 53 #endif /* CONFIG_CONTEXT_TRACKING */ 54 54 55 55 #endif