veth: use skb_orphan_partial instead of skb_orphan
As described by commit9c4c325252
("skbuff: preserve sock reference when scrubbing the skb."), orphaning a skb in the TX path will cause OoO. Let's use skb_orphan_partial() instead of skb_orphan(), so that we keep the sk around for queue's selection sake and we still avoid the problem fixed with commit4bf9ffa0fb
("veth: Orphan skb before GRO") Signed-off-by: Paolo Abeni <pabeni@redhat.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
7dc85b599a
commit
c75fb320d4
|
@ -686,7 +686,7 @@ static struct sk_buff *veth_xdp_rcv_skb(struct veth_rq *rq,
|
|||
int mac_len, delta, off;
|
||||
struct xdp_buff xdp;
|
||||
|
||||
skb_orphan(skb);
|
||||
skb_orphan_partial(skb);
|
||||
|
||||
rcu_read_lock();
|
||||
xdp_prog = rcu_dereference(rq->xdp_prog);
|
||||
|
|
Loading…
Reference in New Issue