[TCP]: Restore SKB socket owner setting in tcp_transmit_skb().
Revert 931731123a
We can't elide the skb_set_owner_w() here because things like certain
netfilter targets (such as owner MATCH) need a socket to be set on the
SKB for correct operation.
Thanks to Jan Engelhardt and other netfilter list members for
pointing this out.
Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
@@ -124,7 +124,7 @@ static int dccp_transmit_skb(struct sock *sk, struct sk_buff *skb)
|
||||
DCCP_INC_STATS(DCCP_MIB_OUTSEGS);
|
||||
|
||||
memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
|
||||
err = icsk->icsk_af_ops->queue_xmit(skb, sk, 0);
|
||||
err = icsk->icsk_af_ops->queue_xmit(skb, 0);
|
||||
return net_xmit_eval(err);
|
||||
}
|
||||
return -ENOBUFS;
|
||||
@@ -396,7 +396,7 @@ int dccp_send_reset(struct sock *sk, enum dccp_reset_codes code)
|
||||
code);
|
||||
if (skb != NULL) {
|
||||
memset(&(IPCB(skb)->opt), 0, sizeof(IPCB(skb)->opt));
|
||||
err = inet_csk(sk)->icsk_af_ops->queue_xmit(skb, sk, 0);
|
||||
err = inet_csk(sk)->icsk_af_ops->queue_xmit(skb, 0);
|
||||
return net_xmit_eval(err);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user