]> git.droids-corp.org - dpdk.git/commit
common/mlx5: fix missing validation in devargs parsing
authorMichael Baum <michaelba@nvidia.com>
Thu, 16 Dec 2021 18:40:40 +0000 (20:40 +0200)
committerRaslan Darawsheh <rasland@nvidia.com>
Wed, 22 Dec 2021 08:56:12 +0000 (09:56 +0100)
commita1d59091a6b56ea8f22a9954b71070533d26d63a
tree191f8fb91359cff9b3feda435a5dfb83ccbbdb3c
parent147f6fb42bd7637b37a9180b0774275531c05f9b
common/mlx5: fix missing validation in devargs parsing

The rte_kvargs_parse function parses the arguments
"key=value,key=value,..." string and return an allocated structure that
contains a key/value list.
It enables also to send a key without value and updates the values in
the following ways:
 - "key=value,key,..." - value is updated as NULL.
 - "key=value,key=,..." - value is updated as "" (empty string).

Mlx5 PMDs use this function to parse, but they don't support key without
value. They send the value as an argument to strtol function.
When strtol gets NULL as a parameter it cause a crash, when it gets ""
(empty string) it returns 0.

Adds a check that will prevent an argument in these formats, and returns
an error for it.

Fixes: 85209924039c ("common/mlx5: share memory related devargs")
Cc: stable@dpdk.org
Signed-off-by: Michael Baum <michaelba@nvidia.com>
Acked-by: Matan Azrad <matan@nvidia.com>
drivers/common/mlx5/mlx5_common.c