core/entry: Respect syscall number rewrites
authorThomas Gleixner <tglx@linutronix.de>
Wed, 19 Aug 2020 19:44:39 +0000 (21:44 +0200)
committerThomas Gleixner <tglx@linutronix.de>
Fri, 21 Aug 2020 14:17:29 +0000 (16:17 +0200)
commitd88d59b64ca35abae208e2781fdb45e69cbed56c
tree6e9aeebff846d2ab1821b22fec31b69b7861bf1e
parent9123e3a74ec7b934a4a099e98af6a61c2f80bbf5
core/entry: Respect syscall number rewrites

The transcript of the x86 entry code to the generic version failed to
reload the syscall number from ptregs after ptrace and seccomp have run,
which both can modify the syscall number in ptregs. It returns the original
syscall number instead which is obviously not the right thing to do.

Reload the syscall number to fix that.

Fixes: 142781e108b1 ("entry: Provide generic syscall entry functionality")
Reported-by: Kyle Huey <me@kylehuey.com>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Tested-by: Kyle Huey <me@kylehuey.com>
Tested-by: Kees Cook <keescook@chromium.org>
Acked-by: Kees Cook <keescook@chromium.org>
Link: https://lore.kernel.org/r/87blj6ifo8.fsf@nanos.tec.linutronix.de
kernel/entry/common.c