Hi Günther, > Date: 2026-11-03 21:22:03+0100 > From: Günther Noack > > 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 > Cc: Willy Tarreau > Cc: Kuniyuki Iwashima > Assisted-by: LLM > Reviewed-by: Kuniyuki Iwashima > Reviewed-by: Alejandro Colomar > Signed-off-by: Günther Noack > --- I've applied this patch. Thanks! Cheers, Alex > > 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 > > --