Re: [PATCH net-next v5 1/3] scm: add SO_PASSPIDFD and SCM_PIDFD

From: Simon Horman
Date: Tue May 23 2023 - 04:53:20 EST


On Mon, May 22, 2023 at 09:17:46PM +0100, Luca Boccassi wrote:
> On Mon, 22 May 2023 at 21:13, Jakub Kicinski <kuba@xxxxxxxxxx> wrote:
> >
> > On Mon, 22 May 2023 15:19:17 +0200 Simon Horman wrote:
> > > > TLI, that AF_UNIX can be a kernel module...
> > > > I'm really not excited in exposing pidfd_prepare() to non-core kernel
> > > > code. Would it be possible to please simply refuse SO_PEERPIDFD and
> > > > SCM_PIDFD if AF_UNIX is compiled as a module? I feel that this must be
> > > > super rare because it risks breaking even simplistic userspace.
> > >
> > > It occurs to me that it may be simpler to not allow AF_UNIX to be a module.
> > > But perhaps that breaks something for someone...
> >
> > Both of the two options (disable the feature with unix=m, make unix
> > bool) could lead to breakage, I reckon at least the latter makes
> > the breakage more obvious? So not allowing AF_UNIX as a module
> > gets my vote as well.
> >
> > A mechanism of exporting symbols for core/internal use only would
> > find a lot of use in networking :(
>
> We are eagerly waiting for this UAPI to be merged so that we can use
> it in userspace (systemd/dbus/dbus-broker/polkitd), so I would much
> rather if such impactful changes could be delayed until after, as
> there is bound to be somebody complaining about such a change, and
> making this dependent on that will likely jeopardize landing this
> series.
> v6 adds fixed this so that's disabled if AF_UNIX is not built-in via
> 'IS_BUILTIN', and that seems like a perfect starting point to me, if
> AF_UNIX can be made non-optional or non-module it can be refactored
> easily later.

No objections from my side, as long as we're not exposing symbols
that we'd rather not have exposed, or otherwise creating new problems.

Let's resolve the AF_UNIX question at some point.