From patchwork Mon Nov 6 07:31:24 2023 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fengchengwen X-Patchwork-Id: 133886 X-Patchwork-Delegate: thomas@monjalon.net Return-Path: X-Original-To: patchwork@inbox.dpdk.org Delivered-To: patchwork@inbox.dpdk.org Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124]) by inbox.dpdk.org (Postfix) with ESMTP id 5D5DF432B7; Mon, 6 Nov 2023 08:35:12 +0100 (CET) Received: from mails.dpdk.org (localhost [127.0.0.1]) by mails.dpdk.org (Postfix) with ESMTP id C903140691; Mon, 6 Nov 2023 08:34:48 +0100 (CET) Received: from szxga03-in.huawei.com (szxga03-in.huawei.com [45.249.212.189]) by mails.dpdk.org (Postfix) with ESMTP id 1EA344027F for ; Mon, 6 Nov 2023 08:34:43 +0100 (CET) Received: from dggpeml100024.china.huawei.com (unknown [172.30.72.56]) by szxga03-in.huawei.com (SkyGuard) with ESMTP id 4SP30Q0QRqzMmZm; Mon, 6 Nov 2023 15:30:14 +0800 (CST) Received: from localhost.localdomain (10.50.165.33) by dggpeml100024.china.huawei.com (7.185.36.115) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.31; Mon, 6 Nov 2023 15:34:06 +0800 From: Chengwen Feng To: , , Zyta Szpak , Liron Himi , Ferruh Yigit , Yelena Krivosheev , Dmitri Epshtein , Andrzej Ostruszka CC: , Subject: [PATCH v5 5/5] net/mvneta: fix possible out-of-bounds write Date: Mon, 6 Nov 2023 07:31:24 +0000 Message-ID: <20231106073125.55280-6-fengchengwen@huawei.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20231106073125.55280-1-fengchengwen@huawei.com> References: <20230314124813.39521-1-fengchengwen@huawei.com> <20231106073125.55280-1-fengchengwen@huawei.com> MIME-Version: 1.0 X-Originating-IP: [10.50.165.33] X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To dggpeml100024.china.huawei.com (7.185.36.115) X-CFilter-Loop: Reflected X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces@dpdk.org The mvneta_ifnames_get() function will save 'iface' value to ifnames, it will out-of-bounds write if passed many iface pairs (e.g. 'iface=xxx,iface=xxx,...'). Fixes: 4ccc8d770d3b ("net/mvneta: add PMD skeleton") Cc: stable@dpdk.org Signed-off-by: Chengwen Feng Acked-by: Ferruh Yigit Acked-by: Huisong Li --- drivers/net/mvneta/mvneta_ethdev.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/net/mvneta/mvneta_ethdev.c b/drivers/net/mvneta/mvneta_ethdev.c index daa69e533a..8032a712f4 100644 --- a/drivers/net/mvneta/mvneta_ethdev.c +++ b/drivers/net/mvneta/mvneta_ethdev.c @@ -91,6 +91,9 @@ mvneta_ifnames_get(const char *key __rte_unused, const char *value, { struct mvneta_ifnames *ifnames = extra_args; + if (ifnames->idx >= NETA_NUM_ETH_PPIO) + return -EINVAL; + ifnames->names[ifnames->idx++] = value; return 0;