Received: by 2002:a6b:fb09:0:0:0:0:0 with SMTP id h9csp1053589iog; Fri, 24 Jun 2022 22:58:02 -0700 (PDT) X-Google-Smtp-Source: AGRyM1uLJuFUmBbY/sd8YyKiR9lZLIMiEVsvyLOj157kSxp3WBvVpHI3YlIKTKaEShuMG/roSl+X X-Received: by 2002:aa7:d296:0:b0:435:7f33:38bc with SMTP id w22-20020aa7d296000000b004357f3338bcmr3233018edq.399.1656136682696; Fri, 24 Jun 2022 22:58:02 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1656136682; cv=none; d=google.com; s=arc-20160816; b=P4fREniJfKfhPwIueA7V+xUAGcxZXnpbJQtp8EUYzy57gzUOrEnEf0kmj5ykz+YEap MsoD9Ed5ghalmw/Shm6BYGg9Wz839aIrp0MqzVDnwymdSjXml7yhM1YJgtZuDOLlio7O +tzrWoqAZNh1LWbT4XxuFHl+WUjhQV1lbW8Pr+g4nW06+rJXjfUFyKPCz6ysqR/HBbpp WuuBfwW0LMdCyUkPQ77HkBAvDQu6w8eSoYFTd9f8RFWuT44rRtdWcHpJj/kQY8ybNu8Z +kTWFQ48likGbQyrgvpQQaipNpsoVQ6ZrWaRt84Eq3dty8Vz79CIb6aR5nPY70HGYHIk PiDA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=IfTILB5eXlDVPgIJdz9bz3GF6bYR+K+qjiBY2DrpT28=; b=eYh+pwWdMc27/tvvfRiRwbyQe8yilWyXEwM99X/LJstHaX3GbQFaDRhDj3NUcLn21Z 4WNX3jCxVxTJh0F9ToxU8GpLFJ1ZITQuPniQirV2DVuhOAdO1LglTgI5Ebf2k2mXJr9F h8wQeKbwZt1t5RJ4rIa1gd6MyEhtJSBl3AFJpOQ5zZyraw+gTp31WCdBmkcIfay6QhLD +xoIZkJ5j5qMThkHBuB/Qtwi7hEiLSx+V2FqsWPG2IqmCGh6HPBTq9kUBJl8B0leDUie nrxkv0RvwMk2GrP+eS5EkNvCPFYtQRMN4Ry/0ODslmo2gndhmvhSm+Nkki+sJECd9zii e9xQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=FMtMByBR; 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=QUARANTINE dis=NONE) header.from=gmail.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id he8-20020a1709073d8800b007262c304034si6011038ejc.759.2022.06.24.22.57.37; Fri, 24 Jun 2022 22:58:02 -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=@gmail.com header.s=20210112 header.b=FMtMByBR; 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=QUARANTINE dis=NONE) header.from=gmail.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230203AbiFYFsU (ORCPT + 99 others); Sat, 25 Jun 2022 01:48:20 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:50776 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231679AbiFYFsS (ORCPT ); Sat, 25 Jun 2022 01:48:18 -0400 Received: from mail-oa1-x2f.google.com (mail-oa1-x2f.google.com [IPv6:2001:4860:4864:20::2f]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id A171E205DD; Fri, 24 Jun 2022 22:48:17 -0700 (PDT) Received: by mail-oa1-x2f.google.com with SMTP id 586e51a60fabf-fb6b4da1dfso6505201fac.4; Fri, 24 Jun 2022 22:48:17 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=IfTILB5eXlDVPgIJdz9bz3GF6bYR+K+qjiBY2DrpT28=; b=FMtMByBRhEeA6z4IgZ2QYocc2mM7IA0qRZt3haGjxsZRhulnUDhs8XgvO0vW7rRNqo lt8BnqtjbNLHEkEvBefK011Is8LdkZXz6keQ6n53UM1o1yd6omTMWY3xapSAUMeZKHhv sNtmQCr5atKnqX9CYOUmS1v+3N86swIvStNwrnIj9L1SlwDxDcpz/t2iM0Ri1rare7/S gGQu73aF+tW5eFJ5VaS8Qv173iCWWbrkEZKGw4jag/exQl8iNUiGe+WchSXW/NBVR2om 6mBnEfH9vn3KMUw7RISSIgolw36vhsFBvGxcVtLBPNqRt3NwgcHP2b4U5n0ohMUl09u8 ZD3g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=IfTILB5eXlDVPgIJdz9bz3GF6bYR+K+qjiBY2DrpT28=; b=Uslf5RoAWSWSyOp98+//Itic3bVzUR2L00S++BDcb4QE8Ce6Puuh2zeDC9RAj4m//J Q4WjFT0daMyBUTl+KB10MJhqJ4g5IK2GDRgZNt2OFLbIYj0BHnsIUnP/yRdF3uL+UPoP rd/XTfvtEaW6ld1j/5LZh2ZGVtZox1EzXGS54gxhAGnIfm0tzktyV6gN/S7k8kbMAWOS vxdJgdFxKnUJhBzsDW6Ck8WwVU/mgs0upFZF6yjnVR6wfzfXKFxciFquQ/LSc0ncp2iU DbsIaqr9bvrMzF2NSBmHLPMkVAxei3QKdWObEMEqV6dl6j24yOd7ZntTSL/I8XuGRKl2 T8ug== X-Gm-Message-State: AJIora8JbkvQT3U5EH4w1gRoQSHr2V3r6e5cP3Aa9NDcXzMgPZ9H+cEk PA9CspnKUPwdRkf+ahaN3wYyABgCUfgkBsTzIPw= X-Received: by 2002:a05:6870:f618:b0:f3:cb8:91b with SMTP id ek24-20020a056870f61800b000f30cb8091bmr4092815oab.265.1656136096965; Fri, 24 Jun 2022 22:48:16 -0700 (PDT) MIME-Version: 1.0 References: <20220624081254.1251316-1-zys.zljxml@gmail.com> In-Reply-To: From: Katrin Jo Date: Sat, 25 Jun 2022 13:48:06 +0800 Message-ID: Subject: Re: [PATCH] ipv6/sit: fix ipip6_tunnel_get_prl when memory allocation fails To: David Ahern Cc: linux-kernel@vger.kernel.org, netdev@vger.kernel.org, yoshfuji@linux-ipv6.org, kuba@kernel.org, davem@davemloft.net, Eric Dumazet , eric.dumazet@gmail.com, pabeni@redhat.com, katrinzhou Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-0.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM,HK_RANDOM_ENVFROM, HK_RANDOM_FROM,RCVD_IN_DNSWL_NONE,SPF_HELO_NONE,SPF_PASS, T_SCC_BODY_TEXT_LINE autolearn=no 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 Fri, Jun 24, 2022 at 11:12 PM David Ahern wrote: > > On 6/24/22 2:12 AM, zys.zljxml@gmail.com wrote: > > diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c > > index c0b138c20992..4fb84c0b30be 100644 > > --- a/net/ipv6/sit.c > > +++ b/net/ipv6/sit.c > > @@ -323,8 +323,6 @@ static int ipip6_tunnel_get_prl(struct net_device *dev, struct ip_tunnel_prl __u > > kcalloc(cmax, sizeof(*kp), GFP_KERNEL_ACCOUNT | __GFP_NOWARN) : > > NULL; > > > > - rcu_read_lock(); > > - > > ca = min(t->prl_count, cmax); > > > > if (!kp) { > > @@ -337,11 +335,12 @@ static int ipip6_tunnel_get_prl(struct net_device *dev, struct ip_tunnel_prl __u > > __GFP_NOWARN); > > if (!kp) { > > ret = -ENOMEM; > > - goto out; > > + goto err; > > } > > } > > > > c = 0; > > + rcu_read_lock(); > > for_each_prl_rcu(t->prl) { > > if (c >= cmax) > > break; > > @@ -362,7 +361,7 @@ static int ipip6_tunnel_get_prl(struct net_device *dev, struct ip_tunnel_prl __u > > ret = -EFAULT; > > > > kfree(kp); > > - > > +err: > > return ret; > > } > > > > 'out' label is no longer used and should be removed. Thanks for reviewing! I sent the V2 patch, modified according to your suggestion. The label is removed, and I still use the label "out" instead of "err". Best Regards, Katrin