From: Kuniyuki Iwashima <kuniyu@google.com>
To: "Günther Noack" <gnoack3000@gmail.com>
Cc: Alejandro Colomar <alx@kernel.org>,
linux-man@vger.kernel.org,
Michael Kerrisk <mtk.manpages@gmail.com>,
Alexander Mikhalitsyn <alexander@mihalicyn.com>
Subject: Re: [PATCH 3/7] man/man7/unix.7: Autobind: Clarify when it happens, and mention SO_PASSPIDFD
Date: Tue, 27 Oct 2026 05:04:18 +0000 [thread overview]
Message-ID: <auAwphO8weLefY5H@google.com> (raw)
In-Reply-To: <20261026.92f659908546@gnoack.org>
On Mon, 26 Oct 2026 22:55:49 +0100, Günther Noack wrote:
> On Sat, Oct 24, 2026 at 04:57:58AM +0000, Kuniyuki Iwashima wrote:
> > On Wed, 21 Oct 2026 23:22:52 +0200, Günther Noack wrote:
> > > Autobind happens if either one of SO_PASSCRED/SO_PASSPIDFD is set and
> > > either connect() or sendmsg() happens. Mention SO_PASSPIDFD and
> > > clarify that autobind does not happen immediately when setting these
> > > socket options.
> > >
> > > In linux.git net/unix/af_unix.c, unix_autobind() is called by
> > > unix_dgram_connect(), unix_stream_connect() and unix_dgram_sendmsg(),
> > > if the socket has no address and unix_may_passcred() is true.
> > >
> > > unix_may_passcred() is also true when SO_PASSPIDFD is set, which was
> > > added in linux.git 5e2ff6704a27 (2023-06-12; "scm: add SO_PASSPIDFD and
> > > SCM_PIDFD"), Linux 6.5.
> > >
> > > Also, the old text said "not yet connected", but the condition is
> > > about the socket not being bound.
> > >
> > > Fixes: 9d1fd1157306 (1999-06-15, 2022-12-19; "man-pages 1.24")
> > > Fixes: 0cf2caa41ea6 (2010-10-10; "unix.7: Document the autobind feature")
> > > Cc: Michael Kerrisk <mtk.manpages@gmail.com>
> > > Cc: Alexander Mikhalitsyn <alexander@mihalicyn.com>
> > > Cc: Kuniyuki Iwashima <kuniyu@google.com>
> > > Assisted-by: LLM
> > > Signed-off-by: Günther Noack <gnoack3000@gmail.com>
> > > ---
> > >
> > > Notes:
> > > Rephrased the LLM-generated text so that the canonical description is
> > > in the "Autobind feature" section and the other place just refers to
> > > it.
> > >
> > > SO_PASSPIDFD is unfortunately not documented yet at this point in
> > > time, but it's still correct to mention it here.
> > >
> > > man/man7/unix.7 | 25 ++++++++++++++++++++-----
> > > 1 file changed, 20 insertions(+), 5 deletions(-)
> > >
> > > diff --git a/man/man7/unix.7 b/man/man7/unix.7
> > > index a1dce8c47246..ded82768322b 100644
> > > --- a/man/man7/unix.7
> > > +++ b/man/man7/unix.7
> > > @@ -301,8 +301,14 @@ if the sender did not specify
> > > .B SCM_CREDENTIALS
> > > ancillary data.
> > > .IP
> > > -When this option is set and the socket is not yet connected,
> > > -a unique name in the abstract namespace will be generated automatically.
> > > +When this option is set on a socket that is not bound to an address,
> > > +the socket is autobound to a unique name in the abstract namespace
> > > +when
> > > +.BR connect (2)
> > > +or
> > > +.BR sendmsg (2)
> > > +is called on it;
> > > +see "Autobind feature", below.
> > > .IP
> > > The value given as an argument to
> > > .BR setsockopt (2)
> > > @@ -370,10 +376,19 @@ call specifies
> > > as
> > > .IR sizeof(sa_family_t) ,
> > > .\" i.e., sizeof(short)
> > > -or the
> > > +or if
> > > +.BR connect (2)
> > > +or
> > > +.BR sendmsg (2)
> > > +is called on a socket that was
> > > +not explicitly bound to an address
> > > +and that has the
> > > .B SO_PASSCRED
> > > -socket option was specified for a socket that was
> > > -not explicitly bound to an address,
> > > +or
> > > +.\" commit 5e2ff6704a275be009be8979af17c52361b79b89
> >
> > Do we really need this SHA1 here ?
>
> I'll drop it, since it's already pointed out in the commit message.
> It seemed like the convention in these man pages, but apparently it's
> not needed any more, as Alejandro also remarked in [1].
>
> [1] https://lore.kernel.org/all/atulJkR7fAgyKhPP@debian/
>
>
> > > +.B SO_PASSPIDFD
> > > +(since Linux 6.5)
> > > +socket option enabled,
> >
> > You will need to update here with SO_PASSPIDFD_THREAD,
> > https://lore.kernel.org/netdev/20261005-work-unix-passpidfd-v4-3-350183b6e02a@amutable.com/
>
> SO_PASSPIDFD_THREAD did not make it into Linux 7.3, and man pages
> document stable features only, so it will have to go separately at a
> later point in time.
>
>
> > but I'm not sure to what extent you want to clarify things.
> >
> > For example, is "the socket is autobound when it passes
> > credentials or pidfd but is not yet bound." too vague ?
>
> In my ears, "passing credentials" might as well mean that the current
> credentials are being *sent* over the socket, rather than received.
> We could maybe say "when it is configured to receive credentials or
> pidfd"? (But at that point, it's similarly long and less precise than
> just listing the socket options.) I'd keep it as is for now, if
> that's OK.
Fair enough :)
next prev parent reply other threads:[~2026-10-27 5:04 UTC|newest]
Thread overview: 35+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-21 21:22 [PATCH 0/7] unix.7: Socket Options and SCM_* fixes Günther Noack
2026-10-21 21:22 ` [PATCH 1/7] man/man7/unix.7: ERRORS: ETOOMANYREFS: Fix the conditions Günther Noack
2026-10-22 21:14 ` Alejandro Colomar
2026-10-23 16:50 ` Günther Noack
2026-10-24 4:45 ` Kuniyuki Iwashima
2026-10-21 21:22 ` [PATCH 2/7] man/man7/unix.7: Multiple same-typed SCM_* messages may be sent in one message Günther Noack
2026-10-22 21:28 ` Alejandro Colomar
2026-10-23 17:09 ` Günther Noack
2026-10-21 21:22 ` [PATCH 3/7] man/man7/unix.7: Autobind: Clarify when it happens, and mention SO_PASSPIDFD Günther Noack
2026-10-24 4:57 ` Kuniyuki Iwashima
2026-10-26 21:55 ` Günther Noack
2026-10-27 5:04 ` Kuniyuki Iwashima [this message]
2026-10-21 21:22 ` [PATCH 4/7] man/man7/unix.7: SCM_SECURITY: Generalize to other LSMs, not just SELinux Günther Noack
2026-10-23 9:57 ` Alejandro Colomar
2026-10-23 17:57 ` Günther Noack
2026-10-23 18:13 ` Alejandro Colomar
2026-10-26 22:41 ` Günther Noack
2026-10-27 8:54 ` Günther Noack
2026-10-27 21:46 ` Alejandro Colomar
2026-10-27 22:30 ` Günther Noack
2026-10-27 22:59 ` Alejandro Colomar
2026-10-28 6:19 ` Günther Noack
2026-10-28 12:45 ` Alejandro Colomar
2026-10-27 16:32 ` Casey Schaufler
2026-10-27 21:52 ` Alejandro Colomar
2026-10-21 21:22 ` [PATCH 5/7] man/man7/unix.7: SO_PASSSEC: wfix Günther Noack
2026-10-24 5:02 ` Kuniyuki Iwashima
2026-10-24 8:36 ` Alejandro Colomar
2026-10-26 22:42 ` Günther Noack
2026-10-27 5:05 ` Kuniyuki Iwashima
2026-10-21 21:22 ` [PATCH 6/7] man/man7/unix.7: Document SO_PASSPIDFD, SO_PEERPIDFD, and SCM_PIDFD Günther Noack
2026-10-24 5:22 ` Kuniyuki Iwashima
2026-10-26 23:02 ` Günther Noack
2026-10-27 5:06 ` Kuniyuki Iwashima
2026-10-21 21:22 ` [PATCH 7/7] man/man7/unix.7: Document SO_PASSRIGHTS Günther Noack
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=auAwphO8weLefY5H@google.com \
--to=kuniyu@google.com \
--cc=alexander@mihalicyn.com \
--cc=alx@kernel.org \
--cc=gnoack3000@gmail.com \
--cc=linux-man@vger.kernel.org \
--cc=mtk.manpages@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.