io_uring/net: avoid sending -ECONNABORTED on repeated connection requests
authorJens Axboe <axboe@kernel.dk>
Mon, 20 Mar 2023 17:13:49 +0000 (11:13 -0600)
committerJens Axboe <axboe@kernel.dk>
Tue, 21 Mar 2023 02:44:45 +0000 (20:44 -0600)
commit74e2e17ee1f8d8a0928b90434ad7e2df70f8483e
treea0cddd8f0a4cef758dc19c2617f98ff459b7db07
parentd2acf789088bb562cea342b6a24e646df4d47839
io_uring/net: avoid sending -ECONNABORTED on repeated connection requests

Since io_uring does nonblocking connect requests, if we do two repeated
ones without having a listener, the second will get -ECONNABORTED rather
than the expected -ECONNREFUSED. Treat -ECONNABORTED like a normal retry
condition if we're nonblocking, if we haven't already seen it.

Cc: stable@vger.kernel.org
Fixes: 3fb1bd688172 ("io_uring/net: handle -EINPROGRESS correct for IORING_OP_CONNECT")
Link: https://github.com/axboe/liburing/issues/828
Reported-by: Hui, Chunyang <sanqian.hcy@antgroup.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
io_uring/net.c