[PATCH v5 3/3] arm64: Add seccomp support
From: AKASHI Takahiro <hidden>
Date: 2014-08-08 07:35:53
Also in:
lkml
On 08/06/2014 12:08 AM, Kees Cook wrote:
On Fri, Jul 25, 2014 at 2:37 AM, AKASHI Takahiro [off-list ref] wrote:quoted
I found a bug in my current patch (v5). When 32-bit tracer skips a system call, we should not update syscallno from x8 since syscallno is re-written directly via ptrace(PTRACE_SET_SYSCALL).Ah, yes. Will aarch64 have a PTRACE_SET_SYSCALL option, or is this strictly a 32-bit vs 64-bit issue?
As discussed in a few weeks ago, aarch64 won't support PTRACE_SET_SYSCALL.
quoted
I'm sure that my next version should work with 32/64-bit tracers on 64-bit kernel.Do you have a git tree uploaded anywhere? I'd love to follow this more closely. When do you expect a v6?
I'd like to submit v6 as soon as possible, but
(1) how we should handle syscall(-1) is annoying me.
Without ptracer, we will normally return -ENOSYS but, for example,
what if some seccomp filter is installed and it does allow (or doesn't
have any rule against) '-1' syscall? Since the kernel doesn't know tracer's
intention, we should just let syscall(-1) return a bogus value.
Thus we will see inconsistent results of syscall(-1).
(2) I'm investigating some failures in Kees' test suite.
* 'TRACE.handler' case on compat task:
Now I found a bug in arm64's compat_siginfo_t and fixed it.
* 'TSYNC.two_siblings_*' cases on 32/64-bit task:
I rebased my patch on pre-v3.17-rc1, but those cases still fail.
I have no clues at this moment.
So please be patient for a while.
-Takahiro AKASHI
Thanks! -Kees