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)
commit87b526d349b04c31d7b3a40b434eb3f825d22305
tree2aeec0465901c9623ef7f5b3eb451ea6ccce6ecc
parentbf5308344527d015ac9a6d2bda4ad4d40fd7d943
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