Skip to contentSkip to conversation

rdma: Fix incorrectly handled NLA validation

PATCH New Leon Romanovsky 1 participant 1 message Dec 30, 2018

Subsystems (3)
lore
Share & tools
lore
#0 lore raw

PATCH 1/1 rdma: Fix incorrectly handled NLA validation

From: Leon Romanovsky <[email protected]>

mnl_attr_type_valid() receives maximum attribute type, which means that we were supposed to supply the latest valid netlink attribute and not the number of attributes. Such coding mistake caused to failures while NLA attributes were extended.

Fixes 74bd75c2b68d ("rdma: Add basic infrastructure for RDMA tool")
---
 rdma/utils.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)
rdma/utils.c +2 -2
index 61f4aeb1..069d44fe 100644
@@ -425,8 +425,8 @@ int rd_attr_cb(const struct nlattr *attr, void *data)
 	const struct nlattr **tb = data;
 	int type;
 
-	if (mnl_attr_type_valid(attr, RDMA_NLDEV_ATTR_MAX) < 0)
-		/* We received uknown attribute */
+	if (mnl_attr_type_valid(attr, RDMA_NLDEV_ATTR_MAX - 1) < 0)
+		/* We received unknown attribute */
 		return MNL_CB_OK;
 
 	type = mnl_attr_get_type(attr);