Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp1015165pxb; Wed, 6 Apr 2022 06:46:29 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxQWx0fw+L9hTFfmYxfJg6aq41L1XxqEF5bbWCTFWzX0mjZmMtGmhe9+7t7P5uCGaqSX40p X-Received: by 2002:a17:90b:1c02:b0:1c8:da30:5ed7 with SMTP id oc2-20020a17090b1c0200b001c8da305ed7mr10057359pjb.28.1649252789377; Wed, 06 Apr 2022 06:46:29 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649252789; cv=none; d=google.com; s=arc-20160816; b=bpzFHz2fnqllbqDPHvcPBMLvRKYZfqrJ7I/WthqJxMvVOjKfDwawwbig+0E9IZtD4D Msxu9VTZp2DYTUVZyBfK2EbaNpDFgJ0eFWSfA4Ivs99sBhgM8ngcakVJEJLfb2BR8LaY MCWYrx5Q4qe3x94fcb308kJ5rrOy/5FZPp2UmY+fsw+dqlLPooIjsp/X/c09R47H0oPz dUs3dvxrEX7ajgqebzZ69UUtzmkXNQMVI9B4eApJI0rSMTqis18j9ESCgMtOPprdkFgY S4d8Yzkyv+b9pM2s6Cqju95bbA/9Y1L9lhHmPWq0UXD/UrjA0K0IHSeeBCXE34afj3qh DM0g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=t5lHJEgEcnuJlT5nMT0LnMeZKxR0wnPSWKJxINJAtKo=; b=Yg3NW0A3pNqgpruttg0pDfKjh0mDMhK1TN89Mm+i8M3IQwJhtywvxmkFqLYclJePKz Z4yl2r3sXPOekW1ZHAVlabs53WJGIUi+eJcsneqSjfcXYdgxILS7ZOaAXm9yTI0ZV67R 87D2UvqhITRmGLQaQoq57/LnghisCstIrsgBhIiK1A7UEfYgnDV0JtgoZP/VbhiM1dDf FOTPuGxPZGEru0b9JIRYx983HVXWtgUstmDk8y1s1EXtXksW2LCaddY16UHA+gHeZbPe f1sJB9VblIYGtNKb+AkOCqDO5fcPdC7/UrZ6LVTYAbqy0gKkYawCLkiYm4cnI1jMcG7c LTHw== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=uH5vD717; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Return-Path: Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net. [23.128.96.19]) by mx.google.com with ESMTPS id pf6-20020a17090b1d8600b001bf8643b853si5468711pjb.147.2022.04.06.06.46.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 06 Apr 2022 06:46:29 -0700 (PDT) Received-SPF: softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) client-ip=23.128.96.19; Authentication-Results: mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=uH5vD717; spf=softfail (google.com: domain of transitioning linux-kernel-owner@vger.kernel.org does not designate 23.128.96.19 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linuxfoundation.org Received: from out1.vger.email (out1.vger.email [IPv6:2620:137:e000::1:20]) by lindbergh.monkeyblade.net (Postfix) with ESMTP id 76DC33EF01B; Wed, 6 Apr 2022 04:41:36 -0700 (PDT) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1844988AbiDFBxe (ORCPT + 99 others); Tue, 5 Apr 2022 21:53:34 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:57360 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1349776AbiDEJvZ (ORCPT ); Tue, 5 Apr 2022 05:51:25 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [IPv6:2604:1380:4601:e00::1]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id C11A91BEB9; Tue, 5 Apr 2022 02:49:26 -0700 (PDT) Received: from smtp.kernel.org (relay.kernel.org [52.25.139.140]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ams.source.kernel.org (Postfix) with ESMTPS id 79D68B818F3; Tue, 5 Apr 2022 09:49:25 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id CA68AC385A2; Tue, 5 Apr 2022 09:49:23 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649152164; bh=gSKk94JlnT76nQt2YzGKXOMGeTex5ODG6i1MtGdF5n0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=uH5vD717zGRgVIIDz6GnicteYUGQvBmQ2u73reNiD2FKhfeIJPMwIf6Y53n5rbnLt 4WqILGjUcClLVXfp6zyla1EaQSJFemgXlxDiOxdErdUBnHWd5ui4yHMwxx6ponSEMM zfO48S5+nic/vqRAaJ9yl6Kg/I7eyebB48R14BCY= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Vladimir Oltean , Florian Fainelli , Xiaomeng Tong , Jakub Kicinski , Sasha Levin Subject: [PATCH 5.15 678/913] net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator Date: Tue, 5 Apr 2022 09:29:00 +0200 Message-Id: <20220405070400.159309578@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070339.801210740@linuxfoundation.org> References: <20220405070339.801210740@linuxfoundation.org> User-Agent: quilt/0.66 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.0 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, MAILING_LIST_MULTI,RDNS_NONE,SPF_HELO_NONE,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 From: Xiaomeng Tong [ Upstream commit 6da69b1da130e7d96766042750cd9f902e890eba ] The bug is here: return rule; The list iterator value 'rule' will *always* be set and non-NULL by list_for_each_entry(), so it is incorrect to assume that the iterator value will be NULL if the list is empty or no element is found. To fix the bug, return 'rule' when found, otherwise return NULL. Fixes: ae7a5aff783c7 ("net: dsa: bcm_sf2: Keep copy of inserted rules") Reviewed-by: Vladimir Oltean Reviewed-by: Florian Fainelli Signed-off-by: Xiaomeng Tong Link: https://lore.kernel.org/r/20220328032431.22538-1-xiam0nd.tong@gmail.com Signed-off-by: Jakub Kicinski Signed-off-by: Sasha Levin --- drivers/net/dsa/bcm_sf2_cfp.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/drivers/net/dsa/bcm_sf2_cfp.c b/drivers/net/dsa/bcm_sf2_cfp.c index a7e2fcf2df2c..edbe5e7f1cb6 100644 --- a/drivers/net/dsa/bcm_sf2_cfp.c +++ b/drivers/net/dsa/bcm_sf2_cfp.c @@ -567,14 +567,14 @@ static void bcm_sf2_cfp_slice_ipv6(struct bcm_sf2_priv *priv, static struct cfp_rule *bcm_sf2_cfp_rule_find(struct bcm_sf2_priv *priv, int port, u32 location) { - struct cfp_rule *rule = NULL; + struct cfp_rule *rule; list_for_each_entry(rule, &priv->cfp.rules_list, next) { if (rule->port == port && rule->fs.location == location) - break; + return rule; } - return rule; + return NULL; } static int bcm_sf2_cfp_rule_cmp(struct bcm_sf2_priv *priv, int port, -- 2.34.1