forked from Minki/linux
subflow: use rsk_ops->send_reset()
tcp_send_active_reset() is more prone to transient errors (memory allocation or xmit queue full): in stress conditions the kernel may drop the egress packet, and the client will be stuck. Reviewed-by: Mat Martineau <mathew.j.martineau@linux.intel.com> Tested-by: Christoph Paasch <cpaasch@apple.com> Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
b7514694ed
commit
97e617518c
@ -524,9 +524,9 @@ out:
|
||||
dispose_child:
|
||||
subflow_drop_ctx(child);
|
||||
tcp_rsk(req)->drop_req = true;
|
||||
tcp_send_active_reset(child, GFP_ATOMIC);
|
||||
inet_csk_prepare_for_destroy_sock(child);
|
||||
tcp_done(child);
|
||||
req->rsk_ops->send_reset(sk, skb);
|
||||
|
||||
/* The last child reference will be released by the caller */
|
||||
return child;
|
||||
|
Loading…
Reference in New Issue
Block a user