* Patch "tcp/dccp: remove obsolete WARN_ON() in icmp handlers" has been added to the 4.4-stable tree
@ 2016-04-16 17:07 gregkh
0 siblings, 0 replies; only message in thread
From: gregkh @ 2016-04-16 17:07 UTC (permalink / raw)
To: edumazet, blazarus, davem, gregkh, ncardwell; +Cc: stable, stable-commits
This is a note to let you know that I've just added the patch titled
tcp/dccp: remove obsolete WARN_ON() in icmp handlers
to the 4.4-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-dccp-remove-obsolete-warn_on-in-icmp-handlers.patch
and it can be found in the queue-4.4 subdirectory.
If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@vger.kernel.org> know about it.
>From foo@baz Sat Apr 16 10:02:53 PDT 2016
From: Eric Dumazet <edumazet@google.com>
Date: Wed, 16 Mar 2016 22:52:15 -0700
Subject: tcp/dccp: remove obsolete WARN_ON() in icmp handlers
From: Eric Dumazet <edumazet@google.com>
[ Upstream commit e316ea62e3203d524ff0239a40c56d3a39ad1b5c ]
Now SYN_RECV request sockets are installed in ehash table, an ICMP
handler can find a request socket while another cpu handles an incoming
packet transforming this SYN_RECV request socket into an ESTABLISHED
socket.
We need to remove the now obsolete WARN_ON(req->sk), since req->sk
is set when a new child is created and added into listener accept queue.
If this race happens, the ICMP will do nothing special.
Fixes: 079096f103fa ("tcp/dccp: install syn_recv requests into ehash table")
Signed-off-by: Eric Dumazet <edumazet@google.com>
Reported-by: Ben Lazarus <blazarus@google.com>
Reported-by: Neal Cardwell <ncardwell@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
---
net/dccp/ipv4.c | 2 --
net/ipv4/tcp_ipv4.c | 2 --
2 files changed, 4 deletions(-)
--- a/net/dccp/ipv4.c
+++ b/net/dccp/ipv4.c
@@ -204,8 +204,6 @@ void dccp_req_err(struct sock *sk, u64 s
* ICMPs are not backlogged, hence we cannot get an established
* socket here.
*/
- WARN_ON(req->sk);
-
if (!between48(seq, dccp_rsk(req)->dreq_iss, dccp_rsk(req)->dreq_gss)) {
NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS);
} else {
--- a/net/ipv4/tcp_ipv4.c
+++ b/net/ipv4/tcp_ipv4.c
@@ -320,8 +320,6 @@ void tcp_req_err(struct sock *sk, u32 se
/* ICMPs are not backlogged, hence we cannot get
* an established socket here.
*/
- WARN_ON(req->sk);
-
if (seq != tcp_rsk(req)->snt_isn) {
NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS);
} else if (abort) {
Patches currently in stable-queue which might be from edumazet@google.com are
queue-4.4/tcp-fix-tcpi_segs_in-after-connection-establishment.patch
queue-4.4/tcp-dccp-remove-obsolete-warn_on-in-icmp-handlers.patch
queue-4.4/ipv6-udp-fix-udp_mib_ignoredmulti-updates.patch
queue-4.4/net-fix-use-after-free-in-the-recvmmsg-exit-path.patch
queue-4.4/bonding-fix-bond_get_stats.patch
queue-4.4/net-bcmgenet-fix-dma-api-length-mismatch.patch
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2016-04-16 17:10 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-04-16 17:07 Patch "tcp/dccp: remove obsolete WARN_ON() in icmp handlers" has been added to the 4.4-stable tree gregkh
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).