linux/arch
Rich Felker b0cfc315ff sh: fix syscall tracing
Addition of SECCOMP_FILTER exposed a longstanding bug in
do_syscall_trace_enter, whereby r0 (the 5th argument register) was
mistakenly used where r3 (syscall_nr) was intended. By overwriting r0
rather than r3 with -1 when attempting to block a syscall, the
existing code would instead have caused the syscall to execute with an
argument clobbered.

Commit 0bb605c2c7 then introduced skipping of the syscall when
do_syscall_trace_enter returns -1, so that the return value set by
seccomp filters would not be clobbered by -ENOSYS. This eliminated the
clobbering of the 5th argument register, but instead caused syscalls
made with a 5th argument of -1 to be misinterpreted as a request by
do_syscall_trace_enter to suppress the syscall.

Fixes: 0bb605c2c7 ("sh: Add SECCOMP_FILTER")
Fixes: ab99c733ae ("sh: Make syscall tracer use tracehook notifiers, add TIF_NOTIFY_RESUME.")
Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
Signed-off-by: Rich Felker <dalias@libc.org>
History 2020-09-13 21:22:55 -04:00
..
alpha treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
arc ARC fixes for 5.9-rc4 2020-09-05 13:46:14 -07:00
arm ARM: SoC fixes 2020-09-13 14:54:40 -07:00
arm64 ARM: SoC fixes 2020-09-13 14:54:40 -07:00
c6x treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
csky treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
h8300 treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
hexagon treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
ia64 ia64: fix min_low_pfn/max_low_pfn build errors 2020-09-01 19:34:11 +03:00
m68k treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
microblaze microblaze: fix min_low_pfn/max_low_pfn build errors 2020-08-31 19:52:50 +03:00
mips ARM: 2020-09-13 08:34:47 -07:00
nds32 A set of fixes for lockdep, tracing and RCU: 2020-08-30 11:43:50 -07:00
nios2 mm/nios2: use general page fault accounting 2020-08-12 10:58:03 -07:00
openrisc OpenRISC fixes for 5.9-rc4 2020-09-12 13:03:49 -07:00
parisc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
powerpc KVM/arm64 fixes for Linux 5.9, take #1 2020-09-11 13:12:11 -04:00
riscv treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
s390 s390: update defconfigs 2020-09-02 13:17:05 +02:00
sh sh: fix syscall tracing 2020-09-13 21:22:55 -04:00
sparc treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
um treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
x86 ARM: 2020-09-13 08:34:47 -07:00
xtensa treewide: Use fallthrough pseudo-keyword 2020-08-23 17:36:59 -05:00
.gitignore .gitignore: add SPDX License Identifier 2020-03-25 11:50:48 +01:00
Kconfig A set oftimekeeping/VDSO updates: 2020-08-14 14:26:08 -07:00