Messages in this thread | | | Subject | Re: [PATCH net v10] skb_expand_head() adjust skb->truesize incorrectly | From | Eric Dumazet <> | Date | Fri, 22 Oct 2021 12:32:35 -0700 |
| |
On 10/22/21 3:28 AM, Vasily Averin wrote: > 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: 2d85a1b31dde ("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> > --- > v10: is_skb_wmem() was moved into separate header (it depends on net/tcp.h) > use it after pskb_expand_head() insted of strange sock_edemux check
SGTM, thanks !
Reviewed-by: Eric Dumazet <edumazet@google.com>
| |