From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id DE300427E0;
	Mon, 20 Mar 2023 10:27:55 +0100 (CET)
Received: from mails.dpdk.org (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id BC59940A7F;
	Mon, 20 Mar 2023 10:27:55 +0100 (CET)
Received: from szxga02-in.huawei.com (szxga02-in.huawei.com [45.249.212.188])
 by mails.dpdk.org (Postfix) with ESMTP id 3AF14406BC
 for <dev@dpdk.org>; Mon, 20 Mar 2023 10:27:53 +0100 (CET)
Received: from dggpeml500024.china.huawei.com (unknown [172.30.72.55])
 by szxga02-in.huawei.com (SkyGuard) with ESMTP id 4Pg8Sq4XVdzSmpJ;
 Mon, 20 Mar 2023 17:24:27 +0800 (CST)
Received: from localhost.localdomain (10.50.163.32) by
 dggpeml500024.china.huawei.com (7.185.36.10) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2507.21; Mon, 20 Mar 2023 17:27:49 +0800
From: Chengwen Feng <fengchengwen@huawei.com>
To: <thomas@monjalon.net>, <ferruh.yigit@amd.com>
CC: <dev@dpdk.org>
Subject: [PATCH v2 00/44] fix segment fault when parse args
Date: Mon, 20 Mar 2023 09:20:26 +0000
Message-ID: <20230320092110.37295-1-fengchengwen@huawei.com>
X-Mailer: git-send-email 2.17.1
In-Reply-To: <20230314124813.39521-1-fengchengwen@huawei.com>
References: <20230314124813.39521-1-fengchengwen@huawei.com>
MIME-Version: 1.0
Content-Type: text/plain
X-Originating-IP: [10.50.163.32]
X-ClientProxiedBy: dggems706-chm.china.huawei.com (10.3.19.183) To
 dggpeml500024.china.huawei.com (7.185.36.10)
X-CFilter-Loop: Reflected
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org

The rte_kvargs_process() was used to parse KV pairs, it also supports
to parse 'only keys' (e.g. socket_id) type. And the callback function
parameter 'value' is NULL when parsed 'only keys'.

It may leads to segment fault when parse args with 'only key', this
patchset fixes rest of them.

Chengwen Feng (44):
  app/pdump: fix segment fault when parse args
  ethdev: fix segment fault when parse args
  net/memif: fix segment fault when parse devargs
  net/pcap: fix segment fault when parse devargs
  net/ring: fix segment fault when parse devargs
  net/sfc: fix segment fault when parse devargs
  net/af_xdp: fix segment fault when parse devargs
  net/ark: fix segment fault when parse devargs
  net/cnxk: fix segment fault when parse devargs
  net/cxgbe: fix segment fault when parse devargs
  net/dpaa2: fix segment fault when parse devargs
  net/ena: fix segment fault when parse devargs
  net/enic: fix segment fault when parse devargs
  net/fm10k: fix segment fault when parse devargs
  net/i40e: fix segment fault when parse devargs
  net/iavf: fix segment fault when parse devargs
  net/ice: fix segment fault when parse devargs
  net/idpf: fix segment fault when parse devargs
  net/ionic: fix segment fault when parse devargs
  net/mana: fix segment fault when parse devargs
  net/mlx4: fix segment fault when parse devargs
  net/mvneta: fix segment fault when parse devargs
  net/mvpp2: fix segment fault when parse devargs
  net/netvsc: fix segment fault when parse devargs
  net/octeontx: fix segment fault when parse devargs
  net/pfe: fix segment fault when parse devargs
  net/qede: fix segment fault when parse devargs
  baseband/la12xx: fix segment fault when parse devargs
  bus/pci: fix segment fault when parse args
  common/mlx5: fix segment fault when parse devargs
  crypto/cnxk: fix segment fault when parse devargs
  crypto/dpaa_sec: fix segment fault when parse devargs
  crypto/dpaa2_sec: fix segment fault when parse devargs
  crypto/mvsam: fix segment fault when parse devargs
  crypto/scheduler: fix segment fault when parse devargs
  dma/dpaa2: fix segment fault when parse devargs
  event/cnxk: fix segment fault when parse devargs
  event/dlb2: fix segment fault when parse devargs
  event/dpaa: fix segment fault when parse devargs
  event/octeontx: fix segment fault when parse devargs
  event/opdl: fix segment fault when parse devargs
  event/sw: fix segment fault when parse devargs
  mempool/cnxk: fix segment fault when parse devargs
  raw/cnxk_gpio: fix segment fault when parse devargs

---
v2: according Ferruh's comments:
    fix all 'rte_kvargs_process()' bug instances.
    only judge value validation.

 app/pdump/main.c                             | 12 ++++++
 drivers/baseband/la12xx/bbdev_la12xx.c       |  3 ++
 drivers/bus/pci/pci_params.c                 |  2 +
 drivers/common/mlx5/mlx5_common.c            |  5 +++
 drivers/crypto/cnxk/cnxk_cryptodev_devargs.c |  3 ++
 drivers/crypto/dpaa2_sec/dpaa2_sec_dpseci.c  |  2 +
 drivers/crypto/dpaa_sec/dpaa_sec.c           |  3 ++
 drivers/crypto/mvsam/rte_mrvl_pmd.c          |  6 +++
 drivers/crypto/scheduler/scheduler_pmd.c     | 21 +++++++++++
 drivers/dma/dpaa2/dpaa2_qdma.c               |  3 ++
 drivers/event/cnxk/cnxk_eventdev.c           |  6 +++
 drivers/event/cnxk/cnxk_eventdev.h           |  6 +++
 drivers/event/cnxk/cnxk_tim_evdev.c          |  6 +++
 drivers/event/dlb2/dlb2.c                    |  5 ++-
 drivers/event/dpaa/dpaa_eventdev.c           |  3 ++
 drivers/event/octeontx/ssovf_evdev.c         |  2 +
 drivers/event/opdl/opdl_evdev.c              |  9 +++++
 drivers/event/sw/sw_evdev.c                  | 12 ++++++
 drivers/mempool/cnxk/cnxk_mempool.c          |  3 ++
 drivers/net/af_xdp/rte_eth_af_xdp.c          | 12 ++++++
 drivers/net/ark/ark_ethdev.c                 |  3 ++
 drivers/net/cnxk/cnxk_ethdev_devargs.c       | 39 ++++++++++++++++++++
 drivers/net/cnxk/cnxk_ethdev_sec.c           | 12 ++++++
 drivers/net/cxgbe/cxgbe_main.c               |  3 ++
 drivers/net/dpaa2/dpaa2_ethdev.c             |  3 ++
 drivers/net/ena/ena_ethdev.c                 |  6 +++
 drivers/net/enic/enic_ethdev.c               |  6 +++
 drivers/net/fm10k/fm10k_ethdev.c             |  3 ++
 drivers/net/i40e/i40e_ethdev.c               | 15 ++++++++
 drivers/net/iavf/iavf_ethdev.c               |  6 +++
 drivers/net/ice/ice_dcf_ethdev.c             |  6 +++
 drivers/net/ice/ice_ethdev.c                 |  6 +++
 drivers/net/idpf/idpf_ethdev.c               |  6 +++
 drivers/net/ionic/ionic_dev_pci.c            |  3 ++
 drivers/net/mana/mana.c                      |  3 ++
 drivers/net/memif/rte_eth_memif.c            | 30 +++++++++++++++
 drivers/net/mlx4/mlx4.c                      |  3 ++
 drivers/net/mvneta/mvneta_ethdev.c           |  3 ++
 drivers/net/mvpp2/mrvl_ethdev.c              |  3 ++
 drivers/net/mvpp2/mrvl_qos.c                 |  6 ++-
 drivers/net/netvsc/hn_ethdev.c               |  3 ++
 drivers/net/octeontx/octeontx_ethdev.c       |  3 ++
 drivers/net/pcap/pcap_ethdev.c               | 18 ++++++++-
 drivers/net/pfe/pfe_ethdev.c                 |  3 ++
 drivers/net/qede/qede_ethdev.c               |  3 ++
 drivers/net/ring/rte_eth_ring.c              |  6 +++
 drivers/net/sfc/sfc.c                        |  3 ++
 drivers/net/sfc/sfc_ev.c                     |  3 ++
 drivers/net/sfc/sfc_kvargs.c                 |  6 +++
 drivers/raw/cnxk_gpio/cnxk_gpio.c            |  6 +++
 lib/ethdev/rte_class_eth.c                   |  6 +++
 51 files changed, 345 insertions(+), 4 deletions(-)

-- 
2.17.1