diff options
-rw-r--r-- | net/dccp/ipv4.c | 2 | ||||
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 4 |
2 files changed, 3 insertions, 3 deletions
diff --git a/net/dccp/ipv4.c b/net/dccp/ipv4.c index 6310b8b19598..2b4f21d34df6 100644 --- a/net/dccp/ipv4.c +++ b/net/dccp/ipv4.c | |||
@@ -208,6 +208,7 @@ 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); | ||
211 | } else { | 212 | } else { |
212 | /* | 213 | /* |
213 | * Still in RESPOND, just remove it silently. | 214 | * Still in RESPOND, just remove it silently. |
@@ -217,7 +218,6 @@ void dccp_req_err(struct sock *sk, u64 seq) | |||
217 | */ | 218 | */ |
218 | inet_csk_reqsk_queue_drop(req->rsk_listener, req); | 219 | inet_csk_reqsk_queue_drop(req->rsk_listener, req); |
219 | } | 220 | } |
220 | reqsk_put(req); | ||
221 | } | 221 | } |
222 | EXPORT_SYMBOL(dccp_req_err); | 222 | EXPORT_SYMBOL(dccp_req_err); |
223 | 223 | ||
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index a57615062b66..4e90217003e8 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -324,6 +324,7 @@ void tcp_req_err(struct sock *sk, u32 seq) | |||
324 | 324 | ||
325 | if (seq != tcp_rsk(req)->snt_isn) { | 325 | if (seq != tcp_rsk(req)->snt_isn) { |
326 | NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS); | 326 | NET_INC_STATS_BH(net, LINUX_MIB_OUTOFWINDOWICMPS); |
327 | reqsk_put(req); | ||
327 | } else { | 328 | } else { |
328 | /* | 329 | /* |
329 | * Still in SYN_RECV, just remove it silently. | 330 | * Still in SYN_RECV, just remove it silently. |
@@ -331,10 +332,9 @@ void tcp_req_err(struct sock *sk, u32 seq) | |||
331 | * created socket, and POSIX does not want network | 332 | * created socket, and POSIX does not want network |
332 | * errors returned from accept(). | 333 | * errors returned from accept(). |
333 | */ | 334 | */ |
334 | inet_csk_reqsk_queue_drop(req->rsk_listener, req); | ||
335 | NET_INC_STATS_BH(net, LINUX_MIB_LISTENDROPS); | 335 | NET_INC_STATS_BH(net, LINUX_MIB_LISTENDROPS); |
336 | inet_csk_reqsk_queue_drop(req->rsk_listener, req); | ||
336 | } | 337 | } |
337 | reqsk_put(req); | ||
338 | } | 338 | } |
339 | EXPORT_SYMBOL(tcp_req_err); | 339 | EXPORT_SYMBOL(tcp_req_err); |
340 | 340 | ||