Commit 1894a403 authored by Peter Zijlstra's avatar Peter Zijlstra

x86: Always inline on_thread_stack() and current_top_of_stack()

Becaues GCC clearly lost it's marbles again...

vmlinux.o: warning: objtool: enter_from_user_mode+0x4e: call to on_thread_stack() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x53: call to on_thread_stack() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0x4e: call to on_thread_stack() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0x4e: call to on_thread_stack() leaves .noinstr.text section

vmlinux.o: warning: objtool: enter_from_user_mode+0x4e: call to current_top_of_stack() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode+0x53: call to current_top_of_stack() leaves .noinstr.text section
vmlinux.o: warning: objtool: syscall_enter_from_user_mode_prepare+0x4e: call to current_top_of_stack() leaves .noinstr.text section
vmlinux.o: warning: objtool: irqentry_enter_from_user_mode+0x4e: call to current_top_of_stack() leaves .noinstr.text section
Signed-off-by: default avatarPeter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20220526105958.071435483@infradead.org
parent 656d054e
...@@ -559,7 +559,7 @@ static __always_inline void native_swapgs(void) ...@@ -559,7 +559,7 @@ static __always_inline void native_swapgs(void)
#endif #endif
} }
static inline unsigned long current_top_of_stack(void) static __always_inline unsigned long current_top_of_stack(void)
{ {
/* /*
* We can't read directly from tss.sp0: sp0 on x86_32 is special in * We can't read directly from tss.sp0: sp0 on x86_32 is special in
...@@ -569,7 +569,7 @@ static inline unsigned long current_top_of_stack(void) ...@@ -569,7 +569,7 @@ static inline unsigned long current_top_of_stack(void)
return this_cpu_read_stable(cpu_current_top_of_stack); return this_cpu_read_stable(cpu_current_top_of_stack);
} }
static inline bool on_thread_stack(void) static __always_inline bool on_thread_stack(void)
{ {
return (unsigned long)(current_top_of_stack() - return (unsigned long)(current_top_of_stack() -
current_stack_pointer) < THREAD_SIZE; current_stack_pointer) < THREAD_SIZE;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment