Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752263AbdLKV0K (ORCPT ); Mon, 11 Dec 2017 16:26:10 -0500 Received: from mail-oi0-f67.google.com ([209.85.218.67]:34548 "EHLO mail-oi0-f67.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751234AbdLKV0H (ORCPT ); Mon, 11 Dec 2017 16:26:07 -0500 X-Google-Smtp-Source: ACJfBotZKqUrP8XE6nKhKZJMeSsLZXaCQDHOrpCERw3KyjC97+JL9Fz4lIaWxm6Epjs0txAWMrkMCKaz8aDUWJ0nHNk= MIME-Version: 1.0 In-Reply-To: <0a352e7b-0404-2f91-206f-099e2376ab9a@canonical.com> References: <0a352e7b-0404-2f91-206f-099e2376ab9a@canonical.com> From: Willem de Bruijn Date: Mon, 11 Dec 2017 16:25:26 -0500 Message-ID: Subject: Re: [REGRESSION][4.13.y][4.14.y][v4.15.y] net: reduce skb_warn_bad_offload() noise To: Joseph Salisbury Cc: Eric Dumazet , Dmitry Vyukov , Willem de Bruijn , David Miller , Daniel Borkmann , jakub.kicinski@netronome.com, linux@rasmusvillemoes.dk, John Fastabend , me@tobin.cc, idosch@mellanox.com, Network Development , LKML , Greg Kroah-Hartman , stable@vger.kernel.org, 1715609@bugs.launchpad.net Content-Type: text/plain; charset="UTF-8" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2519 Lines: 67 On Mon, Dec 11, 2017 at 3:35 PM, Joseph Salisbury wrote: > Hi Eric, > > A kernel bug report was opened against Ubuntu [0]. It was found that > reverting the following commit resolved this bug: The recorded trace in that bug is against 4.10.0 with some backports. Given that commit b2504a5dbef3 ("net: reduce skb_warn_bad_offload() noise") is implicated, I guess that that was backported from 4.11-rc1. The WARN shows e1000e: caps=(0x00000030002149a9, 0x0000000000000000) len=1701 data_len=1659 gso_size=1480 gso_type=2 ip_summed=0 The numbering changed in 4.14, but for this kernel SKB_GSO_UDP = 1 << 1, so this is a UFO packet with CHECKSUM_NONE. The stack shows kernel: [570943.494549] skb_warn_bad_offload+0xd1/0x120 kernel: [570943.494550] __skb_gso_segment+0x17d/0x190 kernel: [570943.494564] validate_xmit_skb+0x14f/0x2a0 kernel: [570943.494565] validate_xmit_skb_list+0x43/0x70 so if that patch has been backported, then this must trigger in __skb_gso_segment on the return path from skb_mac_gso_segment. Did you backport commit 8d63bee643f1fb53e472f0e135cae4eb99d62d19 Author: Willem de Bruijn Date: Tue Aug 8 14:22:55 2017 -0400 net: avoid skb_warn_bad_offload false positives on UFO skb_warn_bad_offload triggers a warning when an skb enters the GSO stack at __skb_gso_segment that does not have CHECKSUM_PARTIAL checksum offload set. Commit b2504a5dbef3 ("net: reduce skb_warn_bad_offload() noise") observed that SKB_GSO_DODGY producers can trigger the check and that passing those packets through the GSO handlers will fix it up. But, the software UFO handler will set ip_summed to CHECKSUM_NONE. When __skb_gso_segment is called from the receive path, this triggers the warning again. Make UFO set CHECKSUM_UNNECESSARY instead of CHECKSUM_NONE. On Tx these two are equivalent. On Rx, this better matches the skb state (checksum computed), as CHECKSUM_NONE here means no checksum computed. See also this thread for context: http://patchwork.ozlabs.org/patch/799015/ Fixes: b2504a5dbef3 ("net: reduce skb_warn_bad_offload() noise") Signed-off-by: Willem de Bruijn Signed-off-by: David S. Miller Note that UFO was removed in 4.14 and that skb_warn_bad_offload can happen for various types of packets, so there may be multiple independent bug reports. I'm investigating two other non-UFO reports just now.