]> git.baikalelectronics.ru Git - kernel.git/commit
seccomp: Make syscall skipping and nr changes more consistent
authorAndy Lutomirski <luto@amacapital.net>
Mon, 1 Oct 2012 18:40:45 +0000 (11:40 -0700)
committerJames Morris <james.l.morris@oracle.com>
Tue, 2 Oct 2012 11:14:29 +0000 (21:14 +1000)
commita0fc282398f0ee70dca7450ff43ad0640ed47875
tree2aeec0465901c9623ef7f5b3eb451ea6ccce6ecc
parent9e813cfec3a074aa5f9a34c3fb8d74fae28d4c81
seccomp: Make syscall skipping and nr changes more consistent

This fixes two issues that could cause incompatibility between
kernel versions:

 - If a tracer uses SECCOMP_RET_TRACE to select a syscall number
   higher than the largest known syscall, emulate the unknown
   vsyscall by returning -ENOSYS.  (This is unlikely to make a
   noticeable difference on x86-64 due to the way the system call
   entry works.)

 - On x86-64 with vsyscall=emulate, skipped vsyscalls were buggy.

This updates the documentation accordingly.

Signed-off-by: Andy Lutomirski <luto@amacapital.net>
Acked-by: Will Drewry <wad@chromium.org>
Signed-off-by: James Morris <james.l.morris@oracle.com>
Documentation/prctl/seccomp_filter.txt
arch/x86/kernel/vsyscall_64.c
kernel/seccomp.c