linux/arch/um/kernel
Mickaël Salaün ce29856a5e um/ptrace: Fix the syscall number update after a ptrace
Update the syscall number after each PTRACE_SETREGS on ORIG_*AX.

This is needed to get the potentially altered syscall number in the
seccomp filters after RET_TRACE.

This fix four seccomp_bpf tests:
> [ RUN      ] TRACE_syscall.skip_after_RET_TRACE
> seccomp_bpf.c:1560:TRACE_syscall.skip_after_RET_TRACE:Expected -1 (18446744073709551615) == syscall(39) (26)
> seccomp_bpf.c:1561:TRACE_syscall.skip_after_RET_TRACE:Expected 1 (1) == (*__errno_location ()) (22)
> [     FAIL ] TRACE_syscall.skip_after_RET_TRACE
> [ RUN      ] TRACE_syscall.kill_after_RET_TRACE
> TRACE_syscall.kill_after_RET_TRACE: Test exited normally instead of by signal (code: 1)
> [     FAIL ] TRACE_syscall.kill_after_RET_TRACE
> [ RUN      ] TRACE_syscall.skip_after_ptrace
> seccomp_bpf.c:1622:TRACE_syscall.skip_after_ptrace:Expected -1 (18446744073709551615) == syscall(39) (26)
> seccomp_bpf.c:1623:TRACE_syscall.skip_after_ptrace:Expected 1 (1) == (*__errno_location ()) (22)
> [     FAIL ] TRACE_syscall.skip_after_ptrace
> [ RUN      ] TRACE_syscall.kill_after_ptrace
> TRACE_syscall.kill_after_ptrace: Test exited normally instead of by signal (code: 1)
> [     FAIL ] TRACE_syscall.kill_after_ptrace

Fixes: 26703c636c ("um/ptrace: run seccomp after ptrace")

Signed-off-by: Mickaël Salaün <mic@digikod.net>
Acked-by: Kees Cook <keescook@chromium.org>
Cc: Jeff Dike <jdike@addtoit.com>
Cc: Richard Weinberger <richard@nod.at>
Cc: James Morris <jmorris@namei.org>
Cc: user-mode-linux-devel@lists.sourceforge.net
Signed-off-by: James Morris <james.l.morris@oracle.com>
Signed-off-by: Kees Cook <keescook@chromium.org>
2016-09-07 09:25:04 -07:00
..
skas um/ptrace: Fix the syscall number update after a ptrace 2016-09-07 09:25:04 -07:00
asm-offsets.c
config.c.in
dyn.lds.S UML: normalize global variables exported by vmlinux.lds 2013-07-03 16:07:34 -07:00
early_printk.c
exec.c
exitcode.c uml: check length in exitcode_proc_write() 2013-10-30 12:24:49 -07:00
gmon_syms.c
gprof_syms.c
initrd.c um: Eliminate null test after alloc_bootmem 2016-08-04 00:00:06 +02:00
irq.c um: Remove broken SMP support 2015-04-13 21:00:58 +02:00
kmsg_dump.c um: add a kmsg_dumper 2015-04-13 21:17:37 +02:00
ksyms.c um: Move syscall() declaration into os.h 2015-05-31 13:14:07 +02:00
maccess.c um: Implement probe_kernel_read() 2013-09-07 10:38:34 +02:00
Makefile um: Support kcov 2016-08-04 00:18:06 +02:00
mem.c tree wide: get rid of __GFP_REPEAT for order-0 allocations part I 2016-06-24 17:23:52 -07:00
physmem.c um: Use char[] for linker script address declarations 2015-05-31 13:14:06 +02:00
process.c Merge branch 'for-linus-4.7-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/rw/uml 2016-05-27 18:54:59 -07:00
ptrace.c um: Don't pollute kernel namespace with uapi 2015-06-25 22:44:11 +02:00
reboot.c um: Export pm_power_off 2016-03-05 22:17:52 +01:00
sigio.c
signal.c Revert "um: Fix get_signal() usage" 2016-03-05 22:16:40 +01:00
stacktrace.c um: Add support for CONFIG_STACKTRACE 2014-10-13 21:46:25 +02:00
syscall.c
sysrq.c um: Remove dead code from stacktrace 2015-04-13 21:00:40 +02:00
time.c um: Switch clocksource to hrtimers 2015-11-06 22:54:49 +01:00
tlb.c um: Report host OOM more nicely 2015-11-06 22:49:12 +01:00
trap.c mm: do not pass mm_struct into handle_mm_fault 2016-07-26 16:19:19 -07:00
um_arch.c um: Setup physical memory in setup_arch() 2016-08-04 00:00:46 +02:00
umid.c
uml.lds.S UML: normalize global variables exported by vmlinux.lds 2013-07-03 16:07:34 -07:00
vmlinux.lds.S