Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp7060609rwb; Tue, 15 Nov 2022 07:13:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf4A3bI3M5nIlf/bjyglMDoSiLaGwvXJV/ODHPIimaKfxaqiB6iT1wGEslNtlFzbZajdkrdm X-Received: by 2002:a63:560c:0:b0:476:9983:b4b5 with SMTP id k12-20020a63560c000000b004769983b4b5mr6164160pgb.516.1668525232822; Tue, 15 Nov 2022 07:13:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1668525232; cv=none; d=google.com; s=arc-20160816; b=Xgq0LnFpQZTwpysaONPQJ4TAALsSOkOLnp5ngqp5wvjXIfNR4FAUjuqQC0uO7EhSi0 JsaktftqMF8phMca/kgnnCuAhrv6Mrh31aU+GmmqDO9ArR91hB8GHLlBcCj6SZ4Hvxv6 ywCRvdgYvKzM7WEseKCpTOpR4C49T+Gf+BWQcC1MYKXLwYE1BQnzPbM8is5V3iwab97u 9g5tmAlbzubGM9kMBe6Vc7y77F58fabO9KF53cULGRoJlMMmRPcfJbiZXCDgqxl1sZZ7 h0vLJH+Oy4+HNBgJ3pvTw/ULyA2znZ89sHoa6hbea8JmSFLzNEobgcKo9H4vCkC4SZiX heTA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:mime-version:references:in-reply-to:message-id :date:subject:cc:to:from; bh=EU/3fhXW9ARUActm+PaU1dLMivs9vjSktz7zVje4WCM=; b=RkKgkhp+A8hl4yEDk5GROna34ybYYJjKpTzDEyqhqLHVo1HTQ2+N2QqOwOu34dmN5I /Grn4jzKS32AeRpOpkKXikGGwocAP2jl6IdE+opNS7+XnBOW7um7KSfcffHnnqmGjmtL GbdGMiRJSFafmZ4tcOEGxNkSNYBHmGMJldl4HgPdPBIBsXD23MC0CgaTY1ULit01RhAv RLhe0TG52jsNNpmZGYRmgAe71FZ9/nKeru8DeEnJThwytQ8j/OyANuYqQd4c3lu1MzMC X+ZUBpHgtGMu3m0IkOWiOGolxU3XzbEQZ1lDHNcyvzNfJgjUzbRsEoEk21nhufUECuAW ze5Q== ARC-Authentication-Results: i=1; mx.google.com; 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=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id h10-20020a056a00218a00b00557a43656c6si12191854pfi.109.2022.11.15.07.13.19; Tue, 15 Nov 2022 07:13:52 -0800 (PST) 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; 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=fail (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=huawei.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230177AbiKOOvk (ORCPT + 89 others); Tue, 15 Nov 2022 09:51:40 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:36412 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229546AbiKOOv2 (ORCPT ); Tue, 15 Nov 2022 09:51:28 -0500 Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 48C6124BE9; Tue, 15 Nov 2022 06:51:27 -0800 (PST) Received: from dggpeml500026.china.huawei.com (unknown [172.30.72.53]) by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4NBTd93QlTzHvsR; Tue, 15 Nov 2022 22:50:53 +0800 (CST) Received: from dggpeml500006.china.huawei.com (7.185.36.76) by dggpeml500026.china.huawei.com (7.185.36.106) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 15 Nov 2022 22:51:23 +0800 Received: from localhost.localdomain (10.175.112.70) by dggpeml500006.china.huawei.com (7.185.36.76) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2375.31; Tue, 15 Nov 2022 22:51:22 +0800 From: Zhang Changzhong To: , , , , , CC: , , Subject: [PATCH net v2 2/3] net: nixge: avoid overwriting buffer descriptor Date: Tue, 15 Nov 2022 23:10:23 +0800 Message-ID: <1668525024-38409-3-git-send-email-zhangchangzhong@huawei.com> X-Mailer: git-send-email 1.8.3.1 In-Reply-To: <1668525024-38409-1-git-send-email-zhangchangzhong@huawei.com> References: <1668525024-38409-1-git-send-email-zhangchangzhong@huawei.com> MIME-Version: 1.0 Content-Type: text/plain X-Originating-IP: [10.175.112.70] X-ClientProxiedBy: dggems701-chm.china.huawei.com (10.3.19.178) To dggpeml500006.china.huawei.com (7.185.36.76) X-CFilter-Loop: Reflected X-Spam-Status: No, score=-4.2 required=5.0 tests=BAYES_00,RCVD_IN_DNSWL_MED, SPF_HELO_NONE,SPF_PASS 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 check on the number of available BDs is incorrect because BDs are required not only for frags but also for skb. This may result in overwriting BD that is still in use. Fixes: 492caffa8a1a ("net: ethernet: nixge: Add support for National Instruments XGE netdev") Signed-off-by: Zhang Changzhong --- drivers/net/ethernet/ni/nixge.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/ethernet/ni/nixge.c b/drivers/net/ethernet/ni/nixge.c index d8cd520..91b7ebc 100644 --- a/drivers/net/ethernet/ni/nixge.c +++ b/drivers/net/ethernet/ni/nixge.c @@ -518,7 +518,7 @@ static netdev_tx_t nixge_start_xmit(struct sk_buff *skb, cur_p = &priv->tx_bd_v[priv->tx_bd_tail]; tx_skb = &priv->tx_skb[priv->tx_bd_tail]; - if (nixge_check_tx_bd_space(priv, num_frag)) { + if (nixge_check_tx_bd_space(priv, num_frag + 1)) { if (!netif_queue_stopped(ndev)) netif_stop_queue(ndev); return NETDEV_TX_OK; -- 2.9.5