Subject: Re: [PATCH bpf-next 2/3] veth: rework veth_xdp_rcv_skb in order to accept non-linear skb

From: Lorenzo Bianconi <[email-masked]>
Date: Sat, 12 Feb 2022 12:03:49 +0100

On Feb 11, Jakub Kicinski wrote:
> On Fri, 11 Feb 2022 02:20:31 +0100 Lorenzo Bianconi wrote:
> > +	if (skb_shared(skb) || skb_head_is_locked(skb)) {
> 
> Is this sufficient to guarantee that the frags can be written?
> skb_cow_data() tells a different story.

Do you mean to consider paged part of the skb always not writable, right?
In other words, we should check something like:

	if (skb_shared(skb) || skb_head_is_locked(skb) ||
	    skb_shinfo(skb)->nr_frags) {
	    ...
	}

Regards,
Lorenzo