Thread (33 messages) 33 messages, 6 authors, 2018-09-25

Re: [PATCH v6 4/5] seccomp: add support for passing fds via USER_NOTIF

From: Tycho Andersen <hidden>
Date: 2018-09-06 16:22:53
Also in: lkml

On Thu, Sep 06, 2018 at 06:15:18PM +0200, Jann Horn wrote:
On Thu, Sep 6, 2018 at 5:29 PM Tycho Andersen [off-list ref] wrote:
quoted
The idea here is that the userspace handler should be able to pass an fd
back to the trapped task, for example so it can be returned from socket().
[...]
quoted
diff --git a/Documentation/userspace-api/seccomp_filter.rst b/Documentation/userspace-api/seccomp_filter.rst
index d1498885c1c7..1c0aab306426 100644
--- a/Documentation/userspace-api/seccomp_filter.rst
+++ b/Documentation/userspace-api/seccomp_filter.rst
@@ -235,6 +235,9 @@ The interface for a seccomp notification fd consists of two structures:
         __u64 id;
         __s32 error;
         __s64 val;
+        __u8 return_fd;
+        __u32 fd;
+        __u32 fd_flags;
Normally,  syscalls that take an optional file descriptor accept a
signed 32-bit number, with -1 standing for "no file descriptor". Is
there a reason why this uses a separate variable to signal whether an
fd was provided?
No real reason other than I looked at the bpf code and they were using
__u32 for bpf (but I think in their case the fd args are not
optional). I'll switch it to __s32/-1 for the next version.
Apart from that, this patch looks good to me.
Thanks,

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