|
@@ -657,11 +657,11 @@ int efx_filter_rfs(struct net_device *net_dev, const struct sk_buff *skb,
|
|
|
return -EPROTONOSUPPORT;
|
|
|
|
|
|
/* RFS must validate the IP header length before calling us */
|
|
|
- EFX_BUG_ON_PARANOID(!pskb_may_pull(skb, nhoff + sizeof(*ip)));
|
|
|
+ EFX_BUG_ON_PARANOID(skb_headlen(skb) < nhoff + sizeof(*ip));
|
|
|
ip = (const struct iphdr *)(skb->data + nhoff);
|
|
|
if (ip_is_fragment(ip))
|
|
|
return -EPROTONOSUPPORT;
|
|
|
- EFX_BUG_ON_PARANOID(!pskb_may_pull(skb, nhoff + 4 * ip->ihl + 4));
|
|
|
+ EFX_BUG_ON_PARANOID(skb_headlen(skb) < nhoff + 4 * ip->ihl + 4);
|
|
|
ports = (const __be16 *)(skb->data + nhoff + 4 * ip->ihl);
|
|
|
|
|
|
efx_filter_init_rx(&spec, EFX_FILTER_PRI_HINT, 0, rxq_index);
|