All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Günther Noack" <gnoack3000@gmail.com>
To: Kuniyuki Iwashima <kuniyu@google.com>
Cc: Alejandro Colomar <alx@kernel.org>, linux-man@vger.kernel.org
Subject: Re: [PATCH 3/8] man/man7/unix.7: SIOCINQ: Document behavior for SOCK_SEQPACKET
Date: Mon, 26 Oct 2026 21:59:06 +0100	[thread overview]
Message-ID: <20261026.f82eccbbab40@gnoack.org> (raw)
In-Reply-To: <atxCMPCa1YAcOLTq@google.com>

On Sat, Oct 24, 2026 at 05:34:00AM +0000, Kuniyuki Iwashima wrote:
> On Wed, 21 Oct 2026 23:07:55 +0200, Günther Noack wrote:
> > Document the SIOCINQ behavior for SOCK_SEQPACKET,
> > which sums up the lengths of all messages in the receive queue.
> > 
> > Restructure sentence order, so that socket type differences are
> > discussed in on paragraph, and commonalities in the next.
> > 
> > For reference, the SIOCINQ lookup is implemented in
> > unix_inq_len() in linux.git net/unix/af_unix.c.
> > 
> > This function first rejects SIOCINQ for listening sockets with
> > -EINVAL, then does a case analysis for the three types of Unix Domain
> > Sockets:
> > 
> > For SOCK_STREAM, the result is:
> > 
> > 	return READ_ONCE(unix_sk(sk)->inq_len);
> > 
> > For SOCK_SEQPACKET, the result is calculated using:
> > 
> > 	skb_queue_walk(&sk->sk_receive_queue, skb)
> >         	amount += unix_skb_len(skb);
> > 
> > For SOCK_DGRAM, the result is:
> > 
> > 	skb = skb_peek(&sk->sk_receive_queue);
> > 	if (skb)
> > 		amount = skb->len;
> > 
> > Cc: Kuniyuki Iwashima <kuniyu@google.com>
> > Assisted-by: LLM
> > Signed-off-by: Günther Noack <gnoack3000@gmail.com>
> > ---
> > 
> > Notes:
> >     I double checked this all in the code, and quoted the code.  Both the
> >     commit message and commit body were substantially edited based on the
> >     initial LLM-based version.  (Nevertheless, I would have likely missed
> >     the inaccuracy if the LLM hadn't found it.)
> >     
> >     The LLM initially just slapped an additional sentence into the
> >     paragraph, but that was mixing the socket-type-specific concerns with
> >     the general description -- I split that paragraph apart so that we
> >     have one paragraph for the three socket types and one for the
> >     socket-type-independent description.
> > 
> >  man/man7/unix.7 | 20 +++++++++++++-------
> >  1 file changed, 13 insertions(+), 7 deletions(-)
> > 
> > diff --git a/man/man7/unix.7 b/man/man7/unix.7
> > index d0c1765dfd79..4c46b54206a5 100644
> > --- a/man/man7/unix.7
> > +++ b/man/man7/unix.7
> > @@ -606,6 +606,19 @@ can be:
> >  For
> >  .B SOCK_STREAM
> 
> and SOCK_SEQPACKET

OK fair.  This was explained a bit below, but maybe too close to the
implementation.  When I initially looked at this, I found it a bit
surprising that for SOCK_SEQPACKET, it returns the size of all of them
combined, but for SOCK_DGRAM only the size of the next one.

I'll conflate this as you suggested into "For SOCK_STREAM and
SOCK_SEQPACKET..." (dropping the other sentence about SOCK_SEQPACKET.)


> >  sockets, this call returns the number of unread bytes in the receive buffer.
> > +For
> > +.B SOCK_DGRAM
> > +sockets,
> > +the returned value is the same as
> > +for Internet domain datagram sockets;
> > +see
> > +.BR udp (7).
> 
> Simply say it's the length of the first datagram.
> so that we don't need to jump to udp doc.

Sounds good, it now reads:

  For SOCK_DGRAM sockets, this call returns the size of the next
  pending datagram, or 0 when no datagram is pending.

(Using the same wording as udp(7))

> > +For
> > +.B SOCK_SEQPACKET
> > +sockets,
> > +this call returns the total number of bytes
> > +in all messages queued in the receive buffer.
> > +.IP

(Dropped this part as discussed above)

–Günther

  reply	other threads:[~2026-10-26 20:59 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-10-21 21:07 [PATCH 0/8] {unix,socket,bind}.7: General Unix Domain Socket fixes Günther Noack
2026-10-21 21:07 ` [PATCH 1/8] man/man7/socket.7: SO_PEEK_OFF: This option is no longer specific to unix(7) Günther Noack
2026-10-23 18:20   ` Alejandro Colomar
2026-10-26 20:48     ` Günther Noack
2026-10-24  5:27   ` Kuniyuki Iwashima
2026-10-21 21:07 ` [PATCH 2/8] man/man7/unix.7: SO_PEERCRED: Also works for SOCK_SEQPACKET Günther Noack
2026-10-24  5:28   ` Kuniyuki Iwashima
2026-10-21 21:07 ` [PATCH 3/8] man/man7/unix.7: SIOCINQ: Document behavior " Günther Noack
2026-10-24  5:34   ` Kuniyuki Iwashima
2026-10-26 20:59     ` Günther Noack [this message]
2026-10-21 21:07 ` [PATCH 4/8] man/man7/unix.7: Explain Abstract UDS scoping to the network namespace Günther Noack
2026-10-24  5:39   ` Kuniyuki Iwashima
2026-10-26 21:11     ` Günther Noack
2026-10-27  5:12       ` Kuniyuki Iwashima
2026-10-27  7:58         ` Günther Noack
2026-10-21 21:07 ` [PATCH 5/8] man/man7/unix.7: SOCK_RAW is accepted as an alias for SOCK_DGRAM Günther Noack
2026-10-24  5:44   ` Kuniyuki Iwashima
2026-10-26 21:13     ` Günther Noack
2026-10-21 21:07 ` [PATCH 6/8] man/man7/unix.7: ERRORS: EPROTONOSUPPORT: Protocol 0 is also accepted Günther Noack
2026-10-24  5:47   ` Kuniyuki Iwashima
2026-10-26 21:15     ` Günther Noack
2026-10-21 21:07 ` [PATCH 7/8] man/man2/bind.2: ERRORS: EACCES: Write permission on the directory is required Günther Noack
2026-10-24  5:56   ` Kuniyuki Iwashima
2026-10-24  5:58     ` Kuniyuki Iwashima
2026-10-26 21:16       ` Günther Noack
2026-10-21 21:08 ` [PATCH 8/8] man/man7/unix.7: ERRORS: Document EACCES, EAGAIN, EMSGSIZE, ENOSPC, and EPERM Günther Noack
2026-10-24  6:03   ` Kuniyuki Iwashima
2026-10-26 21:27     ` 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=20261026.f82eccbbab40@gnoack.org \
    --to=gnoack3000@gmail.com \
    --cc=alx@kernel.org \
    --cc=kuniyu@google.com \
    --cc=linux-man@vger.kernel.org \
    /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.