On Sun, Aug 22, 2021 at 10:04 AM Christoph Paasch
[off-list ref] wrote:
Hello Vasily,
On Fri, Aug 20, 2021 at 11:21 PM Vasily Averin [off-list ref] wrote:
quoted
On 8/21/21 1:44 AM, Christoph Paasch wrote:
quoted
(resend without html - thanks gmail web-interface...)
On Fri, Aug 20, 2021 at 3:41 PM Christoph Paasch
quoted
AFAICS, this is because pskb_expand_head (called from
skb_expand_head) is not adjusting skb->truesize when skb->sk is set
(which I guess is the case in this particular scenario). I'm not
sure what the proper fix would be though...
Could you please elaborate?
it seems to me skb_realloc_headroom used before my patch called pskb_expand_head() too
and did not adjusted skb->truesize too. Am I missed something perhaps?
The only difference in my patch is that skb_clone can be not called,
though I do not understand how this can affect skb->truesize.
I *believe* that the difference is that after skb_clone() skb->sk is
NULL and thus truesize will be adjusted.
I will try to confirm that with some more debugging.
Yes indeed.
Before your patch:
[ 19.154039] ip6_xmit before realloc truesize 4864 sk? 000000002ccd6868
[ 19.155230] ip6_xmit after realloc truesize 5376 sk? 0000000000000000
skb->sk is not set and thus truesize will be adjusted.
With your change:
[ 15.092933] ip6_xmit before realloc truesize 4864 sk? 00000000072930fd
[ 15.094131] ip6_xmit after realloc truesize 4864 sk? 00000000072930fd
skb->sk is set and thus truesize is not adjusted.
Christoph
Christoph
quoted
Thank you,
Vasily Averin