On 10/2/20 10:26 AM, Eric Dumazet wrote:
> On Thu, Oct 1, 2020 at 10:34 PM Heiner Kallweit <hkallwe...@gmail.com> wrote:
>>
>> I have a problem with the following code in ndo_start_xmit() of
>> the r8169 driver. A user reported the WARN being triggered due
>> to gso_size > 0 and gso_type = 0. The chip supports TSO(6).
>> The driver is widely used, therefore I'd expect much more such
>> reports if it should be a common problem. Not sure what's special.
>> My primary question: Is it a valid use case that gso_size is
>> greater than 0, and no SKB_GSO_ flag is set?
>> Any hint would be appreciated.
>>
>>
>
> Maybe this is not a TCP packet ? But in this case GSO should have taken place.
>
> You might add a
> pr_err_once("gso_type=%x\n", shinfo->gso_type);
>
>>
>> u32 mss = shinfo->gso_size;
>>
>> if (mss) {
>
>
>
>> if (shinfo->gso_type & SKB_GSO_TCPV4) {
>> opts[0] |= TD1_GTSENV4;
>> } else if (shinfo->gso_type & SKB_GSO_TCPV6) {
>> if (skb_cow_head(skb, 0))
>> return false;
>>
>> tcp_v6_gso_csum_prep(skb);
>> opts[0] |= TD1_GTSENV6;
>> } else {
>> WARN_ON_ONCE(1);
>> }
>>
>>
>>
>>
>> -------- Forwarded Message --------
>> Subject: [Bug 209423] WARN_ON_ONCE() at rtl8169_tso_csum_v2()
>> Date: Thu, 01 Oct 2020 19:19:24 +0000
>> From: bugzilla-dae...@bugzilla.kernel.org
>> To: hkallwe...@gmail.com
>>
>> https://bugzilla.kernel.org/show_bug.cgi?id=209423
>>
>> --- Comment #7 from Damian Wrobel (dwro...@ertelnet.rybnik.pl) ---
>> Here it comes:
>>
>> [86678.377120] ------------[ cut here ]------------
>> [86678.377155] gso_size = 1448, gso_type = 0x00000000
Ah, sorry I see you already printed gso_type
Must then be a bug somewhere :/