Commit Graph

1 Commits

Author SHA1 Message Date
Paolo Abeni fcbf308cb4 skb_expand_head() adjust skb->truesize incorrectly
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=2028276
Tested: LNST, Tier1

Upstream commit:
commit 7f678def99d29c520418607509bb19c7fc96a6db
Author: Vasily Averin <vvs@virtuozzo.com>
Date:   Fri Oct 22 13:28:37 2021 +0300

    skb_expand_head() adjust skb->truesize incorrectly

    Christoph Paasch reports [1] about incorrect skb->truesize
    after skb_expand_head() call in ip6_xmit.
    This may happen because of two reasons:
    - skb_set_owner_w() for newly cloned skb is called too early,
    before pskb_expand_head() where truesize is adjusted for (!skb-sk) case.
    - pskb_expand_head() does not adjust truesize in (skb->sk) case.
    In this case sk->sk_wmem_alloc should be adjusted too.

    [1] https://lkml.org/lkml/2021/8/20/1082

    Fixes: f1260ff15a71 ("skbuff: introduce skb_expand_head()")
    Fixes: 2d85a1b31d ("ipv6: ip6_finish_output2: set sk into newly allocated nskb")
    Reported-by: Christoph Paasch <christoph.paasch@gmail.com>
    Signed-off-by: Vasily Averin <vvs@virtuozzo.com>
    Reviewed-by: Eric Dumazet <edumazet@google.com>
    Link: https://lore.kernel.org/r/644330dd-477e-0462-83bf-9f514c41edd1@virtuozzo.com
    Signed-off-by: Jakub Kicinski <kuba@kernel.org>

Signed-off-by: Paolo Abeni <pabeni@redhat.com>
2021-12-09 10:44:31 +01:00