diff options
author | Petr Machata <pmachata@gmail.com> | 2020-01-13 15:16:28 +0100 |
---|---|---|
committer | David Ahern <dsahern@gmail.com> | 2020-01-18 21:46:12 +0000 |
commit | 0da4cfaa5d57a0329357a256eb9e92020e1fcd07 (patch) | |
tree | 0d9b1fdacde6d3cbcd68f6bd7a0d6fe64d1ee173 | |
parent | ed81a2a040a9af811b098cbb8cf026afd698bdbe (diff) | |
download | iproute2-0da4cfaa5d57a0329357a256eb9e92020e1fcd07.tar.gz |
libnetlink: parse_rtattr_nested should allow NLA_F_NESTED flag
In kernel commit 8cb081746c03 ("netlink: make validation more configurable
for future strictness"), Linux started implicitly flagging nests with
NLA_F_NESTED, unless the nest is created with nla_nest_start_noflag().
The ETS code uses nla_nest_start() where possible, so it does not work with
the current iproute2 code. Have libnetlink catch up by admitting the flag
in the attribute.
Signed-off-by: Petr Machata <petrm@mellanox.com>
Reviewed-by: Jiri Pirko <jiri@mellanox.com>
Signed-off-by: David Ahern <dsahern@gmail.com>
-rw-r--r-- | include/libnetlink.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/libnetlink.h b/include/libnetlink.h index 8ebdc6d3d..e27516f76 100644 --- a/include/libnetlink.h +++ b/include/libnetlink.h @@ -173,7 +173,8 @@ int rta_nest_end(struct rtattr *rta, struct rtattr *nest); RTA_ALIGN((rta)->rta_len))) #define parse_rtattr_nested(tb, max, rta) \ - (parse_rtattr((tb), (max), RTA_DATA(rta), RTA_PAYLOAD(rta))) + (parse_rtattr_flags((tb), (max), RTA_DATA(rta), RTA_PAYLOAD(rta), \ + NLA_F_NESTED)) #define parse_rtattr_one_nested(type, rta) \ (parse_rtattr_one(type, RTA_DATA(rta), RTA_PAYLOAD(rta))) |