On Mon, Jul 3, 2023 at 10:23 AM David Ahern [off-list ref] wrote:
On 7/3/23 11:13 AM, Eric Dumazet wrote:
quoted
diff --git a/net/packet/af_packet.c b/net/packet/af_packet.c
index a2dbeb264f260e5b8923ece9aac99fe19ddfeb62..aa4133d1b1e0676e408499ea4534b51262394432
100644
--- a/net/packet/af_packet.c
+++ b/net/packet/af_packet.c
@@ -2152,7 +2152,7 @@ static int packet_rcv(struct sk_buff *skb,
struct net_device *dev,
}
}
- snaplen = skb->len;
+ snaplen = skb->devmem ? skb_headlen(skb) : skb->len;
Ok, so you expect a flag on the skb noting the use of 'untouchable'
memory. That aligns with my expectations based on POCs.
Based on the above: 1) skb->head is expected to be host memory, and 2)
the flag is a global for all frags, so no mix and match.
Yes, both are correct (i.e. what I plan to propose).
--
Thanks,
Mina