[PATCH net-next v2 2/3] netlink: set bad attribute also on maxtype check

From: Michal Kubecek
Date: Thu May 02 2019 - 10:16:03 EST


The check that attribute type is within 0...maxtype range in
__nla_validate_parse() sets only error message but not bad_attr in extack.
Set also bad_attr to tell userspace which attribute failed validation.

Signed-off-by: Michal Kubecek <mkubecek@xxxxxxx>
Reviewed-by: Johannes Berg <johannes@xxxxxxxxxxxxxxxx>
Reviewed-by: David Ahern <dsahern@xxxxxxxxx>
---
lib/nlattr.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/lib/nlattr.c b/lib/nlattr.c
index 29f6336e2422..adc919b32bf9 100644
--- a/lib/nlattr.c
+++ b/lib/nlattr.c
@@ -356,7 +356,8 @@ static int __nla_validate_parse(const struct nlattr *head, int len, int maxtype,

if (type == 0 || type > maxtype) {
if (validate & NL_VALIDATE_MAXTYPE) {
- NL_SET_ERR_MSG(extack, "Unknown attribute type");
+ NL_SET_ERR_MSG_ATTR(extack, nla,
+ "Unknown attribute type");
return -EINVAL;
}
continue;
--
2.21.0