[PATCH 5/7] x86: Split syscall_trace_enter into two phases
From: luto@amacapital.net (Andy Lutomirski)
Date: 2014-07-16 21:16:11
Also in:
linux-arch, linux-mips, lkml
From: luto@amacapital.net (Andy Lutomirski)
Date: 2014-07-16 21:16:11
Also in:
linux-arch, linux-mips, lkml
On Wed, Jul 16, 2014 at 1:21 PM, Kees Cook [off-list ref] wrote:
On Tue, Jul 15, 2014 at 12:32 PM, Andy Lutomirski [off-list ref] wrote:quoted
+ + ret = seccomp_phase1(&sd); + if (ret == SECCOMP_PHASE1_SKIP) { + regs->orig_ax = -ENOSYS;Before, seccomp didn't touch orig_ax on a skip. I don't see any problem with this, and it's probably more clear this way, but are you sure there aren't unexpected side-effects from this?
It's necessary to cause the syscall to be skipped -- see syscall_trace_enter. That being said, setting it to -ENOSYS is nonsense and probably confused you at least as much as it confused me. It should be regs->orig_ax = -1. --Andy