Received: by 2002:a05:6358:3188:b0:123:57c1:9b43 with SMTP id q8csp28889895rwd; Wed, 5 Jul 2023 04:23:23 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6UzwIBI4oa0ULaEUYnFSKoRv6O1T17e0AEpBehQIVt0r5OXUECRI/IDr7Clg/U97mWnpHj X-Received: by 2002:a9d:6b90:0:b0:6b8:73ba:e2ce with SMTP id b16-20020a9d6b90000000b006b873bae2cemr12413914otq.9.1688556203428; Wed, 05 Jul 2023 04:23:23 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1688556203; cv=none; d=google.com; s=arc-20160816; b=irA3Xxu1xAZPaw7djhfwepk/jo8SAB4W7G3+gG5EQaaoKfWC/+KyzVMzUbId1iRq1n hG5oIaqLozdYjfA1bDWLl8ubyQOGeewHBV7WX7TCHsPBJL9gI6R0Q/Zh6anKk2qoIaqd lcczemBupqhsNpclx0ZfoEgl1E7fTDfMdJ2mnLTQQPsg4BTqfCux71hwZvVZujiDvkvv crmwJBiVv3R1donKX8ba7PXbkyVoRDdfrPgpttzYocZwxFxgRusGRCDnDVY4IBfch1aO KxujgiIPzv2nnqnWw/PkMb4+IZp0PCON4hgDFXjeQrhK4ab/7JTMYZ1JThauzlOj3iP6 HDBA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:user-agent :content-transfer-encoding:references:in-reply-to:date:cc:to:from :subject:message-id:dkim-signature; bh=gaRBNJkOnaaSRUUKURGngA0lO7NJcgI2BAIjJLAUBVs=; fh=A0PSGpJvk5uFQ6I1CRwe1/r8Wb3dC7Tk308FguzYlOY=; b=SdTagEWu8RI1F8iuS2zhYf+mjgRiXZKZ/OX8MngIyvxvvwmDQL5NGemvOj8/VT38u3 DUh9ZOSJlHuNJkQ+LZFt1CgbZ9JVZO2vAUHjJoYzCseJpDZCMSVDkE94E6benV0NbJ+I HG5JjgkZ20ilfD9eLTBwwNu/6aWTiTX8mbjbOL949PZ7NX2gclEoRfOe1gFbObFT29m6 3yQYQyz1UrRzp+x7Aj2qv2puRRf/uvAsH3M/b8jYGnA8Bx5TLfzRzhV0druRayOidfI0 GhF63kFLngmJP/6h7GzbHwzwNdXBz3f6BU9Gbs+/Q4C/Nf+45x2kmZ1zZGYFLt3fd3Gb FwkQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=TURMPEmR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id f10-20020a6547ca000000b0054fd35b2dbcsi21602389pgs.350.2023.07.05.04.23.08; Wed, 05 Jul 2023 04:23:23 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@redhat.com header.s=mimecast20190719 header.b=TURMPEmR; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=redhat.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S231576AbjGEK3i (ORCPT + 99 others); Wed, 5 Jul 2023 06:29:38 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:49216 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229635AbjGEK3h (ORCPT ); Wed, 5 Jul 2023 06:29:37 -0400 Received: from us-smtp-delivery-124.mimecast.com (us-smtp-delivery-124.mimecast.com [170.10.133.124]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 78853E57 for ; Wed, 5 Jul 2023 03:28:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1688552926; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=gaRBNJkOnaaSRUUKURGngA0lO7NJcgI2BAIjJLAUBVs=; b=TURMPEmRCO+ZDGkw0uq+cf/7mctiKIyABcQg4SOOcBXdxsOUL3SWIM6IqtZCuMGG4cKE9r oRLSTLiq9kngTUxpct5h7TNLk9pw/zoUBY6w0yFfubyz8MXpsNgKfE9RIm9DliTAxyp7Xb 94dMpZ2ty261LPbZnsKW3HImKNBWOyQ= Received: from mail-vs1-f72.google.com (mail-vs1-f72.google.com [209.85.217.72]) by relay.mimecast.com with ESMTP with STARTTLS (version=TLSv1.3, cipher=TLS_AES_256_GCM_SHA384) id us-mta-644-usK3rNgmP7ykFCs2SJvEHQ-1; Wed, 05 Jul 2023 06:28:45 -0400 X-MC-Unique: usK3rNgmP7ykFCs2SJvEHQ-1 Received: by mail-vs1-f72.google.com with SMTP id ada2fe7eead31-443510058b5so96933137.0 for ; Wed, 05 Jul 2023 03:28:45 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1688552925; x=1691144925; h=mime-version:user-agent:content-transfer-encoding:references :in-reply-to:date:cc:to:from:subject:message-id:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=gaRBNJkOnaaSRUUKURGngA0lO7NJcgI2BAIjJLAUBVs=; b=ct6denMjwRWB7NZ9LVgJcF6XdLytjonvtRaowTBCsWaroePKaXm9xDfWgA71XvTe1q OzvNRWRWH5nuMwUyqXCoMTPXoITtTPWB9cQGrGof6yKH7EmP7MT4lCIgWBH+kAig+jYg VqAH1cqhyVypvpAseg+oP1aJ7slXoQBtjmJW4X2tgUh4lCEhJ8jrYrtfugqqAbUTfiiL 7Q3dPaH5jjZWkmDY1j68puQVUyin9CYpBsqPMrh0sOqwjY5herlJQJZcqyl25JO774My S28IS1NNplksD1dPi5xHGa0XXdyNkXaW0FmyVhNG+p8Cu2Lz9fiNFhL1NM0c7j3lRKf3 WUcA== X-Gm-Message-State: ABy/qLYC9Qg4DfnxfDtsWLgMLRdHwQButTQ4iz3+M6gPg7IrKJSCQF5m 3k/y6bq0YVtgp2YcEjGJOudzwYLu9kjgyj9iMGAp9LNkhDxWFo8MweReGwm3e16pPqZu0tQZ7Ma sAJ4s1RPvqjRm1Q4yivHJ/y2Y X-Received: by 2002:a05:6102:1612:b0:443:58b5:ecbf with SMTP id cu18-20020a056102161200b0044358b5ecbfmr5739460vsb.0.1688552925089; Wed, 05 Jul 2023 03:28:45 -0700 (PDT) X-Received: by 2002:a05:6102:1612:b0:443:58b5:ecbf with SMTP id cu18-20020a056102161200b0044358b5ecbfmr5739457vsb.0.1688552924795; Wed, 05 Jul 2023 03:28:44 -0700 (PDT) Received: from gerbillo.redhat.com (146-241-249-75.dyn.eolo.it. [146.241.249.75]) by smtp.gmail.com with ESMTPSA id e14-20020ad4418e000000b006363f2c37f0sm6665534qvp.91.2023.07.05.03.28.42 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 05 Jul 2023 03:28:44 -0700 (PDT) Message-ID: Subject: Re: [Intel-wired-lan] bug with rx-udp-gro-forwarding offloading? From: Paolo Abeni To: Ian Kumlien Cc: Alexander Lobakin , intel-wired-lan , Jakub Kicinski , Eric Dumazet , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Date: Wed, 05 Jul 2023 12:28:40 +0200 In-Reply-To: References: <22aad588-47d6-6441-45b2-0e685ed84c8d@intel.com> <0a040331995c072c56fce58794848f5e9853c44f.camel@redhat.com> <486ae2687cd2e2624c0db1ea1f3d6ca36db15411.camel@redhat.com> <5688456234f5d15ea9ca0f000350c28610ed2639.camel@redhat.com> <92a4d42491a2c219192ae86fa04b579ea3676d8c.camel@redhat.com> <062061fc4d4d3476e3b0255803b726956686eb19.camel@redhat.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.46.4 (3.46.4-1.fc37) MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, RCVD_IN_MSPIKE_H4,RCVD_IN_MSPIKE_WL,SPF_HELO_NONE,SPF_NONE, T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 2023-07-04 at 16:27 +0200, Ian Kumlien wrote: > More stacktraces.. =3D) >=20 > cat bug.txt | ./scripts/decode_stacktrace.sh vmlinux > [ 411.413767] ------------[ cut here ]------------ > [ 411.413792] WARNING: CPU: 9 PID: 942 at include/net/ud p.h:509 > udpv6_queue_rcv_skb (./include/net/udp.h:509 net/ipv6/udp.c:800 > net/ipv6/udp.c:787) I'm really running out of ideas here... This is: WARN_ON_ONCE(UDP_SKB_CB(skb)->partial_cov); sort of hint skb being shared (skb->users > 1) while enqueued in multiple places (bridge local input and br forward/flood to tun device). I audited the bridge mc flooding code, and I could not find how a shared skb could land into the local input path. Anyway the other splats reported here and in later emails are compatible with shared skbs. The above leads to another bunch of questions: * can you reproduce the issue after disabling 'rx-gro-list' on the ingress device? (while keeping 'rx-udp-gro-forwarding' on). * do you have by chance qdiscs on top of the VM tun devices? The last patch I shared was buggy, as it attempts to unclone the skb after already touching skb_shared_info. Could you please replace such patch with the following?=20 Thanks! Paolo --- diff --git a/net/core/skbuff.c b/net/core/skbuff.c index 6c5915efbc17..0b0f4309506d 100644 --- a/net/core/skbuff.c +++ b/net/core/skbuff.c @@ -4261,6 +4261,17 @@ struct sk_buff *skb_segment_list(struct sk_buff *skb= , =20 skb_push(skb, -skb_network_offset(skb) + offset); =20 + if (WARN_ON_ONCE(skb_shared(skb))) { + skb =3D skb_share_check(skb, GFP_ATOMIC); + if (!skb) + goto err_linearize; + } + + /* later code will clear the gso area in the shared info */ + err =3D skb_unclone(skb, GFP_ATOMIC); + if (err) + goto err_linearize; + skb_shinfo(skb)->frag_list =3D NULL; =20 while (list_skb) {