]> git.itanic.dy.fi Git - linux-stable/commitdiff
task_stack, x86/cea: Force-inline stack helpers
authorBorislav Petkov <bp@suse.de>
Wed, 23 Mar 2022 19:02:41 +0000 (20:02 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 20 Sep 2022 10:39:43 +0000 (12:39 +0200)
[ Upstream commit e87f4152e542610d0b4c6c8548964a68a59d2040 ]

Force-inline two stack helpers to fix the following objtool warnings:

  vmlinux.o: warning: objtool: in_task_stack()+0xc: call to task_stack_page() leaves .noinstr.text section
  vmlinux.o: warning: objtool: in_entry_stack()+0x10: call to cpu_entry_stack() leaves .noinstr.text section

Signed-off-by: Borislav Petkov <bp@suse.de>
Acked-by: Peter Zijlstra (Intel) <peterz@infradead.org>
Link: https://lore.kernel.org/r/20220324183607.31717-2-bp@alien8.de
Stable-dep-of: 54c3931957f6 ("tracing: hold caller_addr to hardirq_{enable,disable}_ip")
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/x86/include/asm/cpu_entry_area.h
include/linux/sched/task_stack.h

index dd5ea1bdf04c5fae8c4fc9af3aa592533055bca5..75efc4c6f0766c3a601d023cb1012c81d7ada7c6 100644 (file)
@@ -143,7 +143,7 @@ extern void cea_set_pte(void *cea_vaddr, phys_addr_t pa, pgprot_t flags);
 
 extern struct cpu_entry_area *get_cpu_entry_area(int cpu);
 
-static inline struct entry_stack *cpu_entry_stack(int cpu)
+static __always_inline struct entry_stack *cpu_entry_stack(int cpu)
 {
        return &get_cpu_entry_area(cpu)->entry_stack_page.stack;
 }
index d10150587d8192f28250dacaa6c08195c8a0333f..1009b6b5ce403b05a2143b76695bcea725c64e48 100644 (file)
@@ -16,7 +16,7 @@
  * try_get_task_stack() instead.  task_stack_page will return a pointer
  * that could get freed out from under you.
  */
-static inline void *task_stack_page(const struct task_struct *task)
+static __always_inline void *task_stack_page(const struct task_struct *task)
 {
        return task->stack;
 }