|
|
@@ -1916,14 +1916,15 @@ static int tpacket_rcv(struct sk_buff *skb, struct net_device *dev,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (skb->ip_summed == CHECKSUM_PARTIAL)
|
|
|
- status |= TP_STATUS_CSUMNOTREADY;
|
|
|
-
|
|
|
snaplen = skb->len;
|
|
|
|
|
|
res = run_filter(skb, sk, snaplen);
|
|
|
if (!res)
|
|
|
goto drop_n_restore;
|
|
|
+
|
|
|
+ if (skb->ip_summed == CHECKSUM_PARTIAL)
|
|
|
+ status |= TP_STATUS_CSUMNOTREADY;
|
|
|
+
|
|
|
if (snaplen > res)
|
|
|
snaplen = res;
|
|
|
|