The "mlx5_os_parse_eth_devargs()" function parses the ETH devargs into a specific structure called "eth_da". It gets structure called "devargs" as a member of EAL device containing the relevant information.
When "devargs" structure is invalid, the function avoids parsing it. However, when it valid but its field "args" is invalid, the function tries to parse it and dereference to NULL pointer. This patch adds check to avoid this NULL dereferencing. Fixes: 919488fbfa71 ("net/mlx5: support Sub-Function") Cc: xuemi...@nvidia.com Cc: sta...@dpdk.org Signed-off-by: Michael Baum <michae...@nvidia.com> Acked-by: Matan Azrad <ma...@nvidia.com> --- drivers/net/mlx5/linux/mlx5_os.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/net/mlx5/linux/mlx5_os.c b/drivers/net/mlx5/linux/mlx5_os.c index ab7ffa0931..2b6741396d 100644 --- a/drivers/net/mlx5/linux/mlx5_os.c +++ b/drivers/net/mlx5/linux/mlx5_os.c @@ -2411,7 +2411,7 @@ mlx5_os_parse_eth_devargs(struct rte_device *dev, dev->devargs->cls_str); return -rte_errno; } - if (eth_da->type == RTE_ETH_REPRESENTOR_NONE) { + if (eth_da->type == RTE_ETH_REPRESENTOR_NONE && dev->devargs->args) { /* Parse legacy device argument */ ret = rte_eth_devargs_parse(dev->devargs->args, eth_da); if (ret) { -- 2.25.1