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