Hi all, Today's linux-next merge of the net-next tree got a conflict in: net/core/gro.c between commit: 7d2c89b32587 ("skb: Do mix page pool and page referenced frags in GRO") from the net tree and commit: b1a78b9b9886 ("net: add support for ipv4 big tcp") from the net-next tree. I fixed it up (see below) and can carry the fix as necessary. This is now fixed as far as linux-next is concerned, but any non trivial conflicts should be mentioned to your upstream maintainer when your tree is submitted for merging. You may also want to consider cooperating with the maintainer of the conflicting tree to minimise any particularly complex conflicts. -- Cheers, Stephen Rothwell diff --cc net/core/gro.c index 4bac7ea6e025,b15f85546bdd..000000000000 --- a/net/core/gro.c +++ b/net/core/gro.c @@@ -162,17 -162,10 +162,19 @@@ int skb_gro_receive(struct sk_buff *p, struct sk_buff *lp; int segs; + /* Do not splice page pool based packets w/ non-page pool + * packets. This can result in reference count issues as page + * pool pages will not decrement the reference count and will + * instead be immediately returned to the pool or have frag + * count decremented. + */ + if (p->pp_recycle != skb->pp_recycle) + return -ETOOMANYREFS; + - /* pairs with WRITE_ONCE() in netif_set_gro_max_size() */ - gro_max_size = READ_ONCE(p->dev->gro_max_size); + /* pairs with WRITE_ONCE() in netif_set_gro(_ipv4)_max_size() */ + gro_max_size = p->protocol == htons(ETH_P_IPV6) ? + READ_ONCE(p->dev->gro_max_size) : + READ_ONCE(p->dev->gro_ipv4_max_size); if (unlikely(p->len + len >= gro_max_size || NAPI_GRO_CB(skb)->flush)) return -E2BIG;
Attachment:
pgpNPtItCbxWw.pgp
Description: OpenPGP digital signature