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

From: Luca Boccassi
Date: Mon May 22 2023 - 16:18:30 EST


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.

Kind regards,
Luca Boccassi