All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Günther Noack" <gnoack3000@gmail.com>
To: Alejandro Colomar <alx+linux-man@kernel.org>
Cc: "Kuniyuki Iwashima" <kuniyu@google.com>,
	"Günther Noack" <gnoack3000@gmail.com>,
	linux-man@vger.kernel.org,
	"Michael Kerrisk" <mtk.manpages@gmail.com>,
	"Willy Tarreau" <w@1wt.eu>, "Alejandro Colomar" <alx@kernel.org>
Subject: [PATCH v2 1/8] man/man7/unix.7: ERRORS: ETOOMANYREFS: Fix the conditions
Date: Tue,  3 Nov 2026 21:22:03 +0100	[thread overview]
Message-ID: <20261103202211.13820-2-gnoack3000@gmail.com> (raw)
In-Reply-To: <20261103202211.13820-1-gnoack3000@gmail.com>

The ETOOMANYREFS error is detected in too_many_unix_fds() in
net/unix/af_unix.c when the user's (not the processes') in-flight FDs
exceed RLIMIT_NOFILE, and the process has neither CAP_SYS_RESOURCE nor
CAP_SYS_ADMIN.  The error is raised when all of the following
(simplified) conditions are true:

* user->unix_inflight > task_rlimit(p, RLIMIT_NOFILE)
* !capable(CAP_SYS_RESOURCE)
* !capable(CAP_SYS_ADMIN)

The check was introduced in linux.git 712f4aad406b (2016-01-11; "unix:
properly account for FDs passed over unix sockets").

Fixes: dc4eea68b565 (2016-12-17; "unix.7: Document ETOOMANYREFS for SCM_RIGHTS send exceeding RLIMIT_NOFILE limit")
Cc: Michael Kerrisk <mtk.manpages@gmail.com>
Cc: Willy Tarreau <w@1wt.eu>
Cc: Kuniyuki Iwashima <kuniyu@google.com>
Assisted-by: LLM
Reviewed-by: Kuniyuki Iwashima <kuniyu@google.com>
Reviewed-by: Alejandro Colomar <alx@kernel.org>
Signed-off-by: Günther Noack <gnoack3000@gmail.com>
---

Notes:
    Double checked in code -- the condition under which this error is
    returned was not fully spelled out.

 man/man7/unix.7 | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/man/man7/unix.7 b/man/man7/unix.7
index 2163a91514b9..94b9e82af3c0 100644
--- a/man/man7/unix.7
+++ b/man/man7/unix.7
@@ -775,10 +775,14 @@ .SH ERRORS
 a UNIX domain socket (see the description of
 .BR SCM_RIGHTS ,
 above).
-It occurs if the number of "in-flight" file descriptors exceeds the
+It occurs if the number of "in-flight" file descriptors
+sent by processes of the caller's real user ID
+exceeds the caller's
 .B RLIMIT_NOFILE
-resource limit and the caller does not have the
+resource limit and the caller has neither the
 .B CAP_SYS_RESOURCE
+nor the
+.B CAP_SYS_ADMIN
 capability.
 An in-flight file descriptor is one that has been sent using
 .BR sendmsg (2)
-- 
2.56.0


  reply	other threads:[~2026-11-03 20:22 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2026-11-03 20:22 [PATCH v2 0/8] unix.7: Socket Options and SCM_* fixes Günther Noack
2026-11-03 20:22 ` Günther Noack [this message]
2026-11-06 13:00   ` [PATCH v2 1/8] man/man7/unix.7: ERRORS: ETOOMANYREFS: Fix the conditions Alejandro Colomar
2026-11-03 20:22 ` [PATCH v2 2/8] man/man7/unix.7: Multiple same-typed SCM_* messages may be sent in one message Günther Noack
2026-11-03 20:22 ` [PATCH v2 3/8] man/man7/unix.7: Autobind: Clarify when it happens, and mention SO_PASSPIDFD Günther Noack
2026-11-03 20:22 ` [PATCH v2 4/8] man/man7/unix.7: SCM_SECURITY: Generalize to other LSMs, not just SELinux Günther Noack
2026-11-03 20:22 ` [PATCH v2 5/8] man/man7/unix.7: SO_PASSSEC: wfix Günther Noack
2026-11-03 20:22 ` [PATCH v2 6/8] man/man7/unix.7: Document SO_PASSPIDFD, SO_PEERPIDFD, and SCM_PIDFD Günther Noack
2026-11-03 20:22 ` [PATCH v2 7/8] man/man7/unix.7: Document SO_PASSRIGHTS Günther Noack
2026-11-03 20:22 ` [PATCH v2 8/8] man/man7/unix.7: Remove mentions of "namespace" in the general sense 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=20261103202211.13820-2-gnoack3000@gmail.com \
    --to=gnoack3000@gmail.com \
    --cc=alx+linux-man@kernel.org \
    --cc=alx@kernel.org \
    --cc=kuniyu@google.com \
    --cc=linux-man@vger.kernel.org \
    --cc=mtk.manpages@gmail.com \
    --cc=w@1wt.eu \
    /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.