Re: [PATCH] io_uring/net: don't retry a non-blocking connect() that fails with -EAGAIN
From: Jens Axboe
Date: Tue Oct 27 2026 - 12:50:33 EST
On Tue, 27 Oct 2026 16:09:37 +0100, Daan De Meyer wrote:
> IORING_OP_CONNECT on an O_NONBLOCK AF_UNIX stream socket retries a
> connect that fails with -EAGAIN because the listener's backlog is full.
> Polling the client socket doesn't help: an unconnected stream socket
> reports EPOLLOUT and EPOLLHUP right away, before the backlog drains. So
> io_uring retries the connect until the apoll retry limit is hit, then
> punts the request to io-wq. With a full backlog, io_connect() runs 128
> times in the submitting task and once more in a new io-wq worker. That
> worker stays in the task's thread group, so a later
> unshare(CLONE_NEWUSER) fails with -EINVAL.
>
> [...]
Applied, thanks!
[1/1] io_uring/net: don't retry a non-blocking connect() that fails with -EAGAIN
commit: 71537ed811107c514c0342e98902d489d6d2b7cd
Best regards,
--
Jens Axboe