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: Mon, 14 Feb 2022 22:03:34 +0100

> On Sat, 12 Feb 2022 12:03:49 +0100 Lorenzo Bianconi wrote:
> > 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) {
> > 	    ...
> > 	}
> 
> Yes, we do have skb_has_shared_frag() but IDK if it guarantees frags
> are writable :S

ack, I will add skb_shinfo(skb)->nr_frags check in v2.

Regards,
Lorenzo