Thread (53 messages) 53 messages, 8 authors, 2012-02-27

Re: [kernel-hardening] Re: [PATCH v10 07/11] signal, x86: add SIGSYS info and make it synchronous.

From: Will Drewry <wad@chromium.org>
Date: 2012-02-23 22:34:50
Also in: lkml, netdev

On Thu, Feb 23, 2012 at 4:15 PM, Indan Zupancic [off-list ref] wrote:
On Thu, February 23, 2012 20:26, Will Drewry wrote:
quoted
Seems like there's an argument for another return code,
SECCOMP_RET_CORE, that resets/unblocks the SIGSYS handler since the
existing TRAP and KILL options seem to cover the other paths (signal
handler and do_exit).
What about making SECCOMP_RET_TRAP dump core/send SIGSYS if there is
no tracer with PTRACE_O_SECCOMP set? And perhaps go for a blockable
SIGSYS? That way you only have KILL, ERRNO and TRAP, with the last
one meaning deny, but giving someone else a chance to do something.
Or is that just confusing?
I don't think it makes sense to mix up signal delivery for in-process
handling and ptrace. In particular, TRACE calls must assume t the
ptracer actually enacted a policy, but with TRAP as is, it always
rejects it.
I don't think there should be too many return values, or else you
put too much runtime policy into the filters.
I'd rather make it explicit than not.  This will be a quagmire if any
behavior is implicit.
Sending SIGSYS is useful, but it's quite a bit less useful if user
space can't handle it in a signal handler, so I don't think it's
worth it to make a unblockable version.
I believe the point here would be that you'd get a useful coredump
without needing to enforce that the process can't handle normal SIGSYS
or other syscalls by blocking signal masking.

cheers!
will
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help