linux/arch/m68k/kernel
Al Viro 1e66a472b5 m68k: Handle arrivals of multiple signals correctly
[ Upstream commit 4bb0bd81ce5e97092dfda6a106d414b703ec0ee8 ]

When we have several pending signals, have entered with the kernel
with large exception frame *and* have already built at least one
sigframe, regs->stkadj is going to be non-zero and regs->format/sr/pc
are going to be junk - the real values are in shifted exception stack
frame we'd built when putting together the first sigframe.

If that happens, subsequent sigframes are going to be garbage.
Not hard to fix - just need to find the "adjusted" frame first
and look for format/vector/sr/pc in it.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Tested-by: Michael Schmitz <schmitzmic@gmail.com>
Reviewed-by: Michael Schmitz <schmitzmic@gmail.com>
Tested-by: Finn Thain <fthain@linux-m68k.org>
Link: https://lore.kernel.org/r/YP2dBIAPTaVvHiZ6@zeniv-ca.linux.org.uk
Signed-off-by: Geert Uytterhoeven <geert@linux-m68k.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
2021-10-17 10:42:34 +02:00
..
syscalls arch: mark syscall number 435 reserved for clone3 2019-07-15 00:39:33 +02:00
.gitignore m68k: Add vmlinux.lds to .gitignore 2009-01-12 20:56:32 +01:00
Makefile License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
asm-offsets.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
bootinfo_proc.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
dma.c dma-mapping updates for 5.4: 2019-09-19 13:27:23 -07:00
early_printk.c m68knommu: remove obsolete 68360 support 2016-03-07 10:07:17 +10:00
entry.S m68k: Use conventional function parameters for do_sigreturn 2016-02-29 09:51:43 +01:00
head.S m68k: Fix boot regression on machines with RAM at non-zero 2014-07-10 09:58:26 +02:00
ints.c m68k: Do not rely on magic indirect includes 2014-03-05 13:28:32 +01:00
irq.c Disintegrate asm/system.h for M68K 2012-03-28 18:30:02 +01:00
machine_kexec.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
module.c m68k/kernel: Modernize printing of kernel messages 2017-02-12 10:36:52 +01:00
module.lds m68k: runtime patching infrastructure 2007-05-31 07:58:13 -07:00
pcibios.c treewide: Replace GPLv2 boilerplate/reference with SPDX - rule 152 2019-05-30 11:26:32 -07:00
process.c License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
ptrace.c sched/headers: Prepare for new header dependencies before moving code to <linux/sched/task_stack.h> 2017-03-02 08:42:36 +01:00
relocate_kernel.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
setup.c m68k: pull mach_beep in setup.c 2017-11-06 08:25:21 +10:00
setup_mm.c m68k: Dispatch nvram_ops calls to Atari or Mac functions 2019-01-22 10:21:45 +01:00
setup_no.c m68k: nommu: register start of the memory with memblock 2020-07-22 09:32:52 +02:00
signal.c m68k: Handle arrivals of multiple signals correctly 2021-10-17 10:42:34 +02:00
sun3-head.S m68k/sun3: Remove is_medusa and m68k_pgtable_cachemode 2018-08-31 09:30:42 +02:00
sys_m68k.c mm: add ksys_mmap_pgoff() helper; remove in-kernel calls to sys_mmap_pgoff() 2018-04-02 20:16:11 +02:00
syscalltable.S m68k: Generate uapi header and syscall table header files 2018-12-04 09:47:55 +01:00
time.c treewide: Add SPDX license identifier for missed files 2019-05-21 10:50:45 +02:00
traps.c signal: Remove the task parameter from force_sig_fault 2019-05-29 09:31:43 -05:00
uboot.c mm: remove include/linux/bootmem.h 2018-10-31 08:54:16 -07:00
vectors.c Disintegrate asm/system.h for M68K 2012-03-28 18:30:02 +01:00
vmlinux-nommu.lds m68k: add missing SOFTIRQENTRY_TEXT linker section 2017-12-04 10:15:18 +10:00
vmlinux-std.lds m68k: add missing SOFTIRQENTRY_TEXT linker section 2017-12-04 10:15:18 +10:00
vmlinux-sun3.lds m68k: add missing SOFTIRQENTRY_TEXT linker section 2017-12-04 10:15:18 +10:00
vmlinux.lds.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00