We've run into a problem where attaching a filter can be quite messy business because the filter itself intercepts sendmsg, and other syscalls related to exfiltrating the listener FD. I believe that this problem set has been brought up before, and although there are "simpler" methods of exfiltrating the listener, like clone3 or pidfd_getfd, but these are still less than ideal.
One of the ideas that's been talked about (I want to say back at LSS NA) is the idea of "delayed activation". I was thinking that it might be nice to have a mechanism to do delayed attach, either activated on execve / fork, or an ioctl on the listenerfd to activate the filter and have a flag like SECCOMP_FILTER_FLAG_NEW_LISTENER_INACTIVE, which indicates that the listener should be setup, but not enforcing, and another ioctl to activate it. The later approach is preferred due to simplicity, but I can see a situation where you could accidentally get into a state where the filter is not being enforced. Additionally, this may have unforeseen implications with CRIU. I'm curious whether this is a problem others share, and whether any of the aforementioned approaches seem reasonable. -Thanks, Sargun