Re: For review: seccomp_user_notif(2) manual page

From: Jann Horn
Date: Wed Sep 30 2020 - 19:15:24 EST


On Thu, Oct 1, 2020 at 1:03 AM Tycho Andersen <tycho@tycho.pizza> wrote:
> On Wed, Sep 30, 2020 at 10:34:51PM +0200, Michael Kerrisk (man-pages) wrote:
> > On 9/30/20 5:03 PM, Tycho Andersen wrote:
> > > On Wed, Sep 30, 2020 at 01:07:38PM +0200, Michael Kerrisk (man-pages) wrote:
> > >> ┌─────────────────────────────────────────────────────┐
> > >> │FIXME │
> > >> ├─────────────────────────────────────────────────────┤
> > >> │From my experiments, it appears that if a SEC‐ │
> > >> │COMP_IOCTL_NOTIF_RECV is done after the target │
> > >> │process terminates, then the ioctl() simply blocks │
> > >> │(rather than returning an error to indicate that the │
> > >> │target process no longer exists). │
> > >
> > > Yeah, I think Christian wanted to fix this at some point,
> >
> > Do you have a pointer that discussion? I could not find it with a
> > quick search.
> >
> > > but it's a
> > > bit sticky to do.
> >
> > Can you say a few words about the nature of the problem?
>
> I remembered wrong, it's actually in the tree: 99cdb8b9a573 ("seccomp:
> notify about unused filter"). So maybe there's a bug here?

That thing only notifies on ->poll, it doesn't unblock ioctls; and
Michael's sample code uses SECCOMP_IOCTL_NOTIF_RECV to wait. So that
commit doesn't have any effect on this kind of usage.