This is a note to let you know that I've just added the patch titled tcp: Fix listen() regression in 5.15.88. to the 5.15-stable tree which can be found at: http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary The filename of the patch is: tcp-fix-listen-regression-in-5.15.88.patch and it can be found in the queue-5.15 subdirectory. If you, or anyone else, feels it should not be added to the stable tree, please let <stable@xxxxxxxxxxxxxxx> know about it. >From kuniyu@xxxxxxxxxx Fri Feb 17 15:21:48 2023 From: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> Date: Mon, 13 Feb 2023 20:45:48 +0000 Subject: tcp: Fix listen() regression in 5.15.88. To: <gregkh@xxxxxxxxxxxxxxxxxxx> Cc: <kuniyu@xxxxxxxxxx>, <netdev@xxxxxxxxxxxxxxx>, <regressions@xxxxxxxxxxxxxxx>, <stable@xxxxxxxxxxxxxxx>, <w@xxxxxx>, <winter@xxxxxxxxxxx> Message-ID: <20230213205835.56151-1-kuniyu@xxxxxxxxxx> From: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> When we backport dadd0dcaa67d ("net/ulp: prevent ULP without clone op from entering the LISTEN status"), we have accidentally backported a part of 7a7160edf1bf ("net: Return errno in sk->sk_prot->get_port().") and removed err = -EADDRINUSE in inet_csk_listen_start(). Thus, listen() no longer returns -EADDRINUSE even if ->get_port() failed as reported in [0]. We set -EADDRINUSE to err just before ->get_port() to fix the regression. [0]: https://lore.kernel.org/stable/EF8A45D0-768A-4CD5-9A8A-0FA6E610ABF7@xxxxxxxxxxx/ Reported-by: Winter <winter@xxxxxxxxxxx> Signed-off-by: Kuniyuki Iwashima <kuniyu@xxxxxxxxxx> Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> --- net/ipv4/inet_connection_sock.c | 1 + 1 file changed, 1 insertion(+) --- a/net/ipv4/inet_connection_sock.c +++ b/net/ipv4/inet_connection_sock.c @@ -1070,6 +1070,7 @@ int inet_csk_listen_start(struct sock *s * It is OK, because this socket enters to hash table only * after validation is complete. */ + err = -EADDRINUSE; inet_sk_state_store(sk, TCP_LISTEN); if (!sk->sk_prot->get_port(sk, inet->inet_num)) { inet->inet_sport = htons(inet->inet_num); Patches currently in stable-queue which might be from kuniyu@xxxxxxxxxx are queue-5.15/net-rose-fix-to-not-accept-on-connected-socket.patch queue-5.15/tcp-fix-listen-regression-in-5.15.88.patch