[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20240725092203.26366-1-arefev@swemel.ru>
Date: Thu, 25 Jul 2024 12:22:03 +0300
From: Denis Arefev <arefev@...mel.ru>
To: kuba@...nel.org
Cc: arefev@...mel.ru,
davem@...emloft.net,
edumazet@...gle.com,
eperezma@...hat.com,
jasowang@...hat.com,
linux-kselftest@...r.kernel.org,
mst@...hat.com,
netdev@...r.kernel.org,
pabeni@...hat.com,
shuah@...nel.org,
virtualization@...ts.linux.dev,
willemdebruijn.kernel@...il.com,
xuanzhuo@...ux.alibaba.com
Subject: [PATCH net] virtio: fix GSO with frames unaligned to size
I checked the patch on three reproducers and all three DEFINITELY broke the core.
There are two malfunctions.
1. No flag skb_shinfo(skb)->tx_flags |= SKBFL_SHARED_FRAG;
If it is not set then __skb_linearize will not be executed in skb_checksum_help.
sk_buff remains fragmented (non-linear) and this is the first warning.
OR add skb_shinfo(skb)->tx_flags |= SKBFL_SHARED_FRAG.
OR ask Eric Dumazet (cef401de7be8c). Is checking if (skb_has_shared_frag(skb)) so important?
in the skb_checksum_help function, is it enough if (skb_is_nonlinear(skb)) ?
2. The skb_segment algorithm and related checks, this is where you need time to think ...
Best regards Denis.
Powered by blists - more mailing lists