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