android_kernel_xiaomi_sm7250/arch/m68k/kernel
Al Viro 3cb487a6a6 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:19:49 +02:00
..
.gitignore
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 m68k: Use generic dma_noncoherent_ops 2018-07-23 15:07:12 +02: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
irq.c
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
Makefile 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
pcibios.c m68k/pci: Remove a superflous KERN_ERR 2015-03-15 10:24:50 +01: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_mm.c m68k: Fix memblock-related crashes 2019-01-13 09:51:02 +01:00
setup_no.c m68k: nommu: register start of the memory with memblock 2020-07-22 09:32:01 +02:00
setup.c m68k: pull mach_beep in setup.c 2017-11-06 08:25:21 +10:00
signal.c m68k: Handle arrivals of multiple signals correctly 2021-10-17 10:19:49 +02:00
sun3-head.S License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01: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 License cleanup: add SPDX GPL-2.0 license identifier to files with no license 2017-11-02 11:10:55 +01:00
time.c m68k: Use read_persistent_clock64() consistently 2018-05-22 10:31:51 +02:00
traps.c signal/m68k: Use force_sig_fault where appropriate 2018-04-25 10:41:01 -05:00
uboot.c m68k: fix command-line parsing when passed from u-boot 2019-12-01 09:16:22 +01:00
vectors.c
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