]> git.baikalelectronics.ru Git - kernel.git/commit
lib/smp_processor_id: Move it into noinstr section
authorThomas Gleixner <tglx@linutronix.de>
Tue, 10 Mar 2020 22:47:39 +0000 (23:47 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Thu, 11 Jun 2020 13:14:36 +0000 (15:14 +0200)
commit8a80cd991e3d5e2576a308dc8d7ec213985b08e9
tree409cadd1911f2e4e16b70e83d656222fa124ec12
parent5ff7ccb28a387960101c1d0eb58a7b4c4aeff73e
lib/smp_processor_id: Move it into noinstr section

That code is already not traceable. Move it into the noinstr section so the
objtool section validation does not trigger.

Annotate the warning code as "safe". While it might be not under all
circumstances, getting the information out is important enough.

Should this ever trigger from the sensitive code which is shielded against
instrumentation, e.g. low level entry, then the printk is the least of the
worries.

Addresses the objtool warnings:
 vmlinux.o: warning: objtool: context_tracking_recursion_enter()+0x7: call to __this_cpu_preempt_check() leaves .noinstr.text section
 vmlinux.o: warning: objtool: __context_tracking_exit()+0x17: call to __this_cpu_preempt_check() leaves .noinstr.text section
 vmlinux.o: warning: objtool: __context_tracking_enter()+0x2a: call to __this_cpu_preempt_check() leaves .noinstr.text section

Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Alexandre Chartre <alexandre.chartre@oracle.com>
Acked-by: Peter Zijlstra <peterz@infradead.org>
Link: https://lkml.kernel.org/r/20200505134340.902709267@linutronix.de
lib/smp_processor_id.c