]> git.baikalelectronics.ru Git - kernel.git/commit
signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_...
authorEd Swierk <eswierk@aristanetworks.com>
Mon, 26 Jan 2009 23:33:31 +0000 (15:33 -0800)
committerIngo Molnar <mingo@elte.hu>
Mon, 26 Jan 2009 23:36:19 +0000 (00:36 +0100)
commitc62e1a45607f2aa36588cb400b42ec6a9772b331
treeabe8c280d3adb7a8e5fc838c59b122a46e6fd464
parent00035ccbc967f53bc7d8fd65f8eb813581f8c96e
signals, debug: fix BUG: using smp_processor_id() in preemptible code in print_fatal_signal()

With print-fatal-signals=1 on a kernel with CONFIG_PREEMPT=y, sending an
unexpected signal to a process causes a BUG: using smp_processor_id() in
preemptible code.

get_signal_to_deliver() releases the siglock before calling
print_fatal_signal(), which calls show_regs(), which calls
smp_processor_id(), which is not supposed to be called from a
preemptible thread.

Make sure show_regs() runs with preemption disabled.

Signed-off-by: Ed Swierk <eswierk@aristanetworks.com>
Signed-off-by: Ingo Molnar <mingo@elte.hu>
kernel/signal.c