2
0
mirror of https://github.com/edk2-porting/linux-next.git synced 2024-12-23 20:53:53 +08:00
linux-next/arch
Vineet Gupta f731a8e89f ARC: show_regs: lockdep: re-enable preemption
signal handling core calls show_regs() with preemption disabled which
on ARC takes mmap_sem for mm/vma access, causing lockdep splat.

| [ARCLinux]# ./segv-null-ptr
| potentially unexpected fatal signal 11.
| BUG: sleeping function called from invalid context at kernel/fork.c:1011
| in_atomic(): 1, irqs_disabled(): 0, pid: 70, name: segv-null-ptr
| no locks held by segv-null-ptr/70.
| CPU: 0 PID: 70 Comm: segv-null-ptr Not tainted 4.18.0+ #69
|
| Stack Trace:
|  arc_unwind_core+0xcc/0x100
|  ___might_sleep+0x17a/0x190
|  mmput+0x16/0xb8
|  show_regs+0x52/0x310
|  get_signal+0x5ee/0x610
|  do_signal+0x2c/0x218
|  resume_user_mode_begin+0x90/0xd8

Workaround by re-enabling preemption temporarily.

Note that the preemption disabling in core code around show_regs()
was introduced by commit 3a9f84d354 ("signals, debug: fix BUG: using
smp_processor_id() in preemptible code in print_fatal_signal()")

to silence a differnt lockdep seen on x86 bakc in 2009.

Cc: <stable@vger.kernel.org>
Signed-off-by: Vineet Gupta <vgupta@synopsys.com>
2019-01-17 14:38:00 -08:00
..
alpha Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
arc ARC: show_regs: lockdep: re-enable preemption 2019-01-17 14:38:00 -08:00
arm Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
arm64 Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
c6x arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
csky arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
h8300 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
hexagon arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
ia64 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
m68k arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
microblaze arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
mips arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
nds32 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
nios2 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
openrisc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
parisc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
powerpc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
riscv arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
s390 Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
sh Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
sparc arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
um Merge branch 'akpm' (patches from Andrew) 2019-01-05 09:16:18 -08:00
unicore32 arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
x86 Kbuild late updates for v4.21 2019-01-06 16:33:10 -08:00
xtensa arch: remove redundant UAPI generic-y defines 2019-01-06 10:22:15 +09:00
.gitignore
Kconfig jump_label: move 'asm goto' support test to Kconfig 2019-01-06 09:46:51 +09:00