Messages in this thread | | | Date | Sun, 26 Jan 2020 15:10:09 +1100 | From | Aleksa Sarai <> | Subject | Re: [PATCH 3/4] seccomp: Add SECCOMP_USER_NOTIF_FLAG_PIDFD to get pidfd on listener trap |
| |
On 2020-01-24, Sargun Dhillon <sargun@sargun.me> wrote: > On Fri, Jan 24, 2020 at 10:03 AM Tycho Andersen <tycho@tycho.ws> wrote: > > > > On Fri, Jan 24, 2020 at 01:17:42AM -0800, Sargun Dhillon wrote: > > > Currently, this just opens the group leader of the thread that triggere > > > the event, as pidfds (currently) are limited to group leaders. > > > > I don't love the semantics of this; when they're not limited to thread > > group leaders any more, we won't be able to change this. Is that work > > far off? > > > > Tycho > > We would be able to change this in the future if we introduced a flag like > SECCOMP_USER_NOTIF_FLAG_PIDFD_THREAD which would send a > pidfd that's for the thread, and not just the group leader. The flag could > either be XOR with SECCOMP_USER_NOTIF_FLAG_PIDFD, or > could require both. Alternatively, we can rename > SECCOMP_USER_NOTIF_FLAG_PIDFD to > SECCOMP_USER_NOTIF_FLAG_GROUP_LEADER_PIDFD.
Possibly unpopular proposal -- would it make sense to just store the pidfd_open(2) flags rather than coming up with our own set for SECCOMP_USER_NOTIF? If/when pidfds are expanded to include non-leaders there will be a corresponding flag for pidfd_open(2). Something like:
struct seccomp_notif { __u64 id; __u32 pid; __u32 flags; struct seccomp_data data; __u64 pidfd_flags; // or __u32 -- not sure what Christian plans __u32 pidfd; __u32 __padding; };
This does mean there'll be an additional flags field, but I think it's a slightly more consistent way to indicate "SECCOMP_USER_NOTIF_FLAG_PIDFD implies a pidfd_open(2) on the traced task".
-- Aleksa Sarai Senior Software Engineer (Containers) SUSE Linux GmbH <https://www.cyphar.com/> [unhandled content-type:application/pgp-signature] | |