commit | ebb516af60e18258aac8e80bbe068740ef1579ed | [log] [tgz] |
---|---|---|
author | Eric Dumazet <edumazet@google.com> | Wed Oct 14 11:16:28 2015 -0700 |
committer | David S. Miller <davem@davemloft.net> | Fri Oct 16 00:52:19 2015 -0700 |
tree | bf2c3efa6f72141e1824bcd075fcfcc250475476 | |
parent | f03f2e154f52fdaa982de7e2c386737679963dc9 [diff] |
tcp/dccp: fix race at listener dismantle phase Under stress, a close() on a listener can trigger the WARN_ON(sk->sk_ack_backlog) in inet_csk_listen_stop() We need to test if listener is still active before queueing a child in inet_csk_reqsk_queue_add() Create a common inet_child_forget() helper, and use it from inet_csk_reqsk_queue_add() and inet_csk_listen_stop() Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>