Thread (50 messages) flat view 50 messages, 8 authors, 2012-02-21

Re: [PATCH v8 3/8] seccomp: add system call filtering using BPF

From: Markus Gutschke <hidden>
Date: 2012-02-16 21:29:16
Also in: linux-arch, lkml

On Thu, Feb 16, 2012 at 13:17, H. Peter Anvin [off-list ref] wrote:
The other thing that you really need in addition to system call number is
ABI identifier, since a syscall number may mean different things for
different entry points.  For example, on x86-64 system call number 4 is
write() if called via int $0x80 but stat() if called via syscall64. This is
a local property of the system call, not a global per process.
I think, the documentation said that as soon as prctl() is used to set
a bpf filter for system calls, it automatically disallows system calls
using an entry point other than the one used by this particular
prctl().

I was trying to come up with scenarios where this particular approach
causes problem, but I can't think of any off the top of my head. So,
it might actually turn out to be a very elegant way to reduce the
attack surface of the kernel. If we are really worried about userspace
compatibility, we could make the kernel send a signal instead of
terminating the program, if the wrong entry point was used; not sure
if that is needed, though.


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