Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp659554pxb; Tue, 5 Apr 2022 17:40:37 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwXw0mOnzmckiJoXHOL3DI1+KFV44tu/0loX0RsQXlq3x6oBxm9+r2QH6dbk8fAX/vQ/430 X-Received: by 2002:a05:6402:34c1:b0:419:585a:f383 with SMTP id w1-20020a05640234c100b00419585af383mr6161370edc.65.1649205637698; Tue, 05 Apr 2022 17:40:37 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1649205637; cv=none; d=google.com; s=arc-20160816; b=vgMeTqUpJ6fz6mrjP4tuSd7F02oiLm8GGKDVPdVljv7HBoGyYkCqocWBQCzBareqWS JC8lH+T2YfUYvprOOQUMw+roNgR+3z8vy0Jk4ewoSgD8MZHZDw7ChYXBZfT654UKyonl VDort7l1UoKS9EyBGmzrS/3OKpDU+7eEbJpR+TJXM0kI4TrG1Lc3JSPjuUtkqCc6mAyL Fb6OYfgjJQx6Pm9yobq/HeQOSgJUi8dzQBG5/4XWJhai5qjl++cgiqkPXlyFYQCnhkTK bo0Yl1iyW+SNL1s1JWTd8mxTs2a09EKtsqRiwN/f1IzCGsSbCfFwsnFxTCnlqKSqrBhj WGew== 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=0oI/inKt450OiCGXXxv0UPyOfUx2qEI5AKHkIGJrbwOUL4bIhvyPe/z89tHRz+mjRk B/0Q26x28bylspmOrCTVtZfAs+9gNwBk/70EZyaKb8trwYR0Q19ijaWvWwp5JUCPgN+h jcAUeuoTnraiAneyyLNvGb8uAc3w5FilrX841pIQmDP7c2I3dczatyuq2f7vMjjWdxGI jl1qxXNl41NqmI4SogoRT/yNuEpr7nN81axLbpttJ2ICLCigKT7UP8h3g7uaV7fIu3Vn zFX2fqGg81DnlAHYzh5Yr5l8EyAO1PciywIUJu9fI9lSxPywYfOVvY9JS8VHeHtWTT43 691Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linuxfoundation.org header.s=korg header.b=Th4RuacA; 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=linuxfoundation.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s15-20020a170906060f00b006df76385ce8si10122177ejb.392.2022.04.05.17.40.12; Tue, 05 Apr 2022 17:40:37 -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=@linuxfoundation.org header.s=korg header.b=Th4RuacA; 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=linuxfoundation.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1377895AbiDENNK (ORCPT + 99 others); Tue, 5 Apr 2022 09:13:10 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:53430 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1344207AbiDEJSi (ORCPT ); Tue, 5 Apr 2022 05:18:38 -0400 Received: from ams.source.kernel.org (ams.source.kernel.org [145.40.68.75]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 331D2A0BD1; Tue, 5 Apr 2022 02:05:33 -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 B9524B81B75; Tue, 5 Apr 2022 09:05:31 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPSA id 1135CC385A0; Tue, 5 Apr 2022 09:05:29 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=linuxfoundation.org; s=korg; t=1649149530; bh=gSKk94JlnT76nQt2YzGKXOMGeTex5ODG6i1MtGdF5n0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=Th4RuacAUGVnfD6aYy3rSSbOVGzzyijVGrrJzTV93VUV1joCiusnNPxQE74PAQkVk dUiiTU+C6xD2G2xbqz8sROtVZDPKK67QEaOlSQUKfqvfs8j+QNfv1zg0XN7cjyk+mq rAPM2QB7h/uIbebO0b+9WuEJN4GTnmu97EotVFqU= 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.16 0747/1017] net: dsa: bcm_sf2_cfp: fix an incorrect NULL check on list iterator Date: Tue, 5 Apr 2022 09:27:40 +0200 Message-Id: <20220405070416.434826983@linuxfoundation.org> X-Mailer: git-send-email 2.35.1 In-Reply-To: <20220405070354.155796697@linuxfoundation.org> References: <20220405070354.155796697@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=-7.1 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_HI, SPF_HELO_NONE,SPF_PASS,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 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