On Friday, 14 May 2021 13:35:32 CEST Linus Lüssing wrote:
On Fri, May 14, 2021 at 10:28:53AM +0200, Sven Eckelmann wrote:
On Tuesday, 27 April 2021 20:45:27 CEST Linus Lüssing wrote:
- The skb is not consumed, so the caller should make sure that the
- skb is freed.
- This call clones the given skb, hence the caller needs to take into
- account that the data segment of the original skb might not be
- modifiable anymore.
But none of your callers is now taking care of it because you've removed all skb_copy's. All you do is to clone the control data and give it to the underlying layers. And they may write freely to the data. Thus breaking parallel (and under some circumstances sequential) running code which operates on the skbs.
Hi Sven,
Thanks for looking at it so far. I'm not quite sure if the skb_copy() is needed though. Because there is a new skb_cow(). Let me explain my thoughts:
[...]
Haven't checked this in detail. But please split this part in a separate patch with the corresponding explanation. Should make it easier to understand why the skb_copy is no longer needed.
Kind regards, Sven