diff options
author | Eric Dumazet <edumazet@google.com> | 2015-10-14 14:16:26 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-10-16 03:52:17 -0400 |
commit | ef84d8ce5a36d0c4a6454e7e9dff54d19f96a25f (patch) | |
tree | 30057b306c266194b6e920d1010ce70c8ae4ecf1 /net/dccp/ipv4.c | |
parent | 47ea0325337b166c1c8695119aa6e83cdc035ef5 (diff) |
Revert "inet: fix double request socket freeing"
This reverts commit c69736696cf3742b37d850289dc0d7ead177bb14.
At the time of above commit, tcp_req_err() and dccp_req_err()
were dead code, as SYN_RECV request sockets were not yet in ehash table.
Real bug was fixed later in a different commit.
We need to revert to not leak a refcount on request socket.
inet_csk_reqsk_queue_drop_and_put() will be added
in following commit to make clean inet_csk_reqsk_queue_drop()
does not release the reference owned by caller.
Signed-off-by: Eric Dumazet <edumazet@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/dccp/ipv4.c')
-rw-r--r-- | net/dccp/ipv4.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index 0dcf1963b323..644af510d932 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -208,7 +208,6 @@ void dccp_req_err(struct sock *sk, u64 seq) | |||
208 | 208 | ||
209 | if (!between48(seq, dccp_rsk(req)->dreq_iss, dccp_rsk(req)->dreq_gss)) { | 209 | if (!between48(seq, dccp_rsk(req)->dreq_iss, dccp_rsk(req)->dreq_gss)) { |
210 | NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS); | 210 | NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS); |
211 | reqsk_put(req); | ||
212 | } else { | 211 | } else { |
213 | /* | 212 | /* |
214 | * Still in RESPOND, just remove it silently. | 213 | * Still in RESPOND, just remove it silently. |
@@ -218,6 +217,7 @@ void dccp_req_err(struct sock *sk, u64 seq) | |||
218 | */ | 217 | */ |
219 | inet_csk_reqsk_queue_drop(req->rsk_listener, req); | 218 | inet_csk_reqsk_queue_drop(req->rsk_listener, req); |
220 | } | 219 | } |
220 | reqsk_put(req); | ||
221 | } | 221 | } |
222 | EXPORT_SYMBOL(dccp_req_err); | 222 | EXPORT_SYMBOL(dccp_req_err); |
223 | 223 | ||