Received: by 2002:a05:6a10:2726:0:0:0:0 with SMTP id ib38csp4451818pxb; Sun, 27 Mar 2022 19:24:38 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxxAK0ckD8e6niYTb7GIUBiJ/h5O8p1sepnvE1EAYwMA2uqDd3x/BEdq3J+T8KHAd2idqkp X-Received: by 2002:a17:90b:4b83:b0:1c9:6d37:38b7 with SMTP id lr3-20020a17090b4b8300b001c96d3738b7mr11743776pjb.21.1648434278053; Sun, 27 Mar 2022 19:24:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1648434278; cv=none; d=google.com; s=arc-20160816; b=YdKCG+7XDisQ3SO+RyCDJwN7UOiqy7TuTarhnRLbYkmRDWbJ4JAVsvpqCA8opWw0zF PkQ2JsXZDQp0DAF0OpxdtLouVJaMnd4MiY0qY5HTGn0QbQQwrJ6EQM8rYHr77CSfIm34 RAS8pcZ5Zoeouhh9aC01svKUQkzIElEKBbkjAOXKgmejSYD7qVJgFVhKNuc1irfYEe+7 QPNv8DdbeGvUsy/SsCboegH8aLDp36WhpmGg7jBZVmgG27L4U6R1Kfq43YcNqGatIPfR o7yKhu8eHZ9wuIeRKs3LU1Iry3RIJaVZKj6E8g3/AMITZjqCHCWF1sWFBcf41XGIzNIz 0naw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:message-id:date:subject:cc:to:from :dkim-signature; bh=oaebWp7D4MUHyUoKIoLJFY0JU1VM1fmEvn6foPTILTU=; b=CZky+DhPI66Qf2PtAaV3tnoPv3u2rIfFrXTJd2B9JHS/CmWa8a9wxMeVLvw2KM9Q/a 0a8v6L3/AlyLf91Tz5hd6rkBh4+Nw4IfpID9y85O33+YLi0fn1jF6We6lEw09IdhO2GM jTGq+FP2NfCFjTrAtntlswFh2KKfsK/aoNa3+k4D4rrpaG6lhZH+sAoQjAVrOXIvxEMi abh3C+Iw6fVUaIxJdtbY1myFPK0AnF4woIkuG5v7zSt37hEL7SUO8m4SqoDtqN1yEB6p ccIpIxK8UahWSLGhKqxTT5fnwpmMLpz8INPCkv7RX5/cfs1fnCROd6KY7mX2ArxWFwkw QnyQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@gmail.com header.s=20210112 header.b=YP8NjTil; 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 a21-20020a056a001d1500b004fb47469b7asi5267676pfx.87.2022.03.27.19.24.23; Sun, 27 Mar 2022 19:24:38 -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=YP8NjTil; 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 S235620AbiC0Hha (ORCPT + 99 others); Sun, 27 Mar 2022 03:37:30 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40428 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S232063AbiC0Hh3 (ORCPT ); Sun, 27 Mar 2022 03:37:29 -0400 Received: from mail-pj1-x1032.google.com (mail-pj1-x1032.google.com [IPv6:2607:f8b0:4864:20::1032]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 14FA9332; Sun, 27 Mar 2022 00:35:51 -0700 (PDT) Received: by mail-pj1-x1032.google.com with SMTP id gp15-20020a17090adf0f00b001c7cd11b0b3so7078473pjb.3; Sun, 27 Mar 2022 00:35:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id; bh=oaebWp7D4MUHyUoKIoLJFY0JU1VM1fmEvn6foPTILTU=; b=YP8NjTil7KxUY2HdoecalzqQudxUazTfY9nAqX2x9gevt6A3hVNNfV08HFxhIHo6aT tK8wsWyJIOyFjGb/AvqW6rLBibfMxmA1NuJT9wRH5akisYc2N4lI9iWV2GG7N/LapLJ0 h6236p4SEBx/g34O5e4Q3/jKvekGQnaSVAzJ5WHG4V8GEwBCA8ECtRAw/YCK/vR8eN2R acgjMPYa2gZpNCDf/NFQhywIEM9qc1Wn0HHT1hICA4/bHuJ2ZcGHwtpFFW4u+SFJQrXM tgTvjHN2IaBA1DloExSLyY9Uu/edsxl+iviXOFM+i27F7hrU9tBookJDS7U4T3piKSSn BBiA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=oaebWp7D4MUHyUoKIoLJFY0JU1VM1fmEvn6foPTILTU=; b=KavbF8i7mBmzb4H3+UXp5K4ZRwz8+0aMVcJZoY32MRYYOgGSN/Emi6XtYoSMGWoBU6 NXwXGqa7trxlDgn1HWDWyaXwrRKs+FBpGIJOyanVWy8YJSNXWfgN4sGSXCQREtCNmkZr X+jl3TNGGt1GyU7fB1pEcra708mAoMbMyA/q/+tvLMxEvdItZrxBj+2hSOlUqzHqMKtO DKm+CRHO3+gkgAYjIm5ueTfY9+zvX+NqyBBotitsqwkIDIMUlsUmiUq6DPicNDgXdPFZ zBZ/BW9FZtaeoIoqdUm+Fow1SsDs09BeE6ku8VqwJY8ODQt03u0dAAqvNk1eWqmvIKZX utwQ== X-Gm-Message-State: AOAM533C7TA1lDlm7Hyb0SmqCiAraPUZTptO36Lof6REEaXZCImtziPF oav13pxe57naZ18XxP17uzkucrzFQRE= X-Received: by 2002:a17:902:f78d:b0:14f:ce61:eaf2 with SMTP id q13-20020a170902f78d00b0014fce61eaf2mr20472668pln.124.1648366550608; Sun, 27 Mar 2022 00:35:50 -0700 (PDT) Received: from localhost ([115.220.243.108]) by smtp.gmail.com with ESMTPSA id w9-20020a056a0014c900b004fb2ca5f6d7sm4189936pfu.136.2022.03.27.00.35.49 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Sun, 27 Mar 2022 00:35:50 -0700 (PDT) From: Xiaomeng Tong To: bharat@chelsio.com, jgg@ziepe.ca Cc: vipul@chelsio.com, roland@purestorage.com, linux-rdma@vger.kernel.org, linux-kernel@vger.kernel.org, Xiaomeng Tong , stable@vger.kernel.org Subject: [PATCH] cxgb4: cm: fix a incorrect NULL check on list iterator Date: Sun, 27 Mar 2022 15:35:42 +0800 Message-Id: <20220327073542.10990-1-xiam0nd.tong@gmail.com> X-Mailer: git-send-email 2.17.1 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,FREEMAIL_FROM, RCVD_IN_DNSWL_NONE,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 The bug is here: if (!pdev) { The list iterator value 'pdev' will *always* be set and non-NULL by for_each_netdev(), so it is incorrect to assume that the iterator value will be NULL if the list is empty or no element found (in this case, the check 'if (!pdev)' can be bypassed as it always be false unexpectly). To fix the bug, use a new variable 'iter' as the list iterator, while use the original variable 'pdev' as a dedicated pointer to point to the found element. Cc: stable@vger.kernel.org Fixes: 830662f6f032f ("RDMA/cxgb4: Add support for active and passive open connection with IPv6 address") Signed-off-by: Xiaomeng Tong --- drivers/infiniband/hw/cxgb4/cm.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/drivers/infiniband/hw/cxgb4/cm.c b/drivers/infiniband/hw/cxgb4/cm.c index c16017f6e8db..870d8517310b 100644 --- a/drivers/infiniband/hw/cxgb4/cm.c +++ b/drivers/infiniband/hw/cxgb4/cm.c @@ -2071,7 +2071,7 @@ static int import_ep(struct c4iw_ep *ep, int iptype, __u8 *peer_ip, { struct neighbour *n; int err, step; - struct net_device *pdev; + struct net_device *pdev = NULL, *iter; n = dst_neigh_lookup(dst, peer_ip); if (!n) @@ -2083,14 +2083,14 @@ static int import_ep(struct c4iw_ep *ep, int iptype, __u8 *peer_ip, if (iptype == 4) pdev = ip_dev_find(&init_net, *(__be32 *)peer_ip); else if (IS_ENABLED(CONFIG_IPV6)) - for_each_netdev(&init_net, pdev) { + for_each_netdev(&init_net, iter) { if (ipv6_chk_addr(&init_net, (struct in6_addr *)peer_ip, - pdev, 1)) + iter, 1)) { + pdev = iter; break; + } } - else - pdev = NULL; if (!pdev) { err = -ENODEV; -- 2.17.1