summaryrefslogtreecommitdiff
path: root/lib/nlattr.c
diff options
context:
space:
mode:
authorMichal Kubecek <mkubecek@suse.cz>2019-05-02 16:15:10 +0200
committerDavid S. Miller <davem@davemloft.net>2019-05-04 01:27:10 -0400
commitd54a16b20157ce300298eb4a1169bf9acfda3d08 (patch)
tree6f0fa658ca777ba4f909abd4615ae7953f1d4ac3 /lib/nlattr.c
parent05d7f547bea1872e711ee97bd46aace6cf61c42b (diff)
downloadlinux-riscv-d54a16b20157ce300298eb4a1169bf9acfda3d08.tar.gz
linux-riscv-d54a16b20157ce300298eb4a1169bf9acfda3d08.tar.bz2
linux-riscv-d54a16b20157ce300298eb4a1169bf9acfda3d08.zip
netlink: set bad attribute also on maxtype check
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@suse.cz> Reviewed-by: Johannes Berg <johannes@sipsolutions.net> Reviewed-by: David Ahern <dsahern@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'lib/nlattr.c')
-rw-r--r--lib/nlattr.c3
1 files changed, 2 insertions, 1 deletions
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;