[NETLINK]: attr: add nested compat attribute type
Add a nested compat attribute type that can be used to convert attributes that contain a structure to nested attributes in a backwards compatible way. Signed-off-by: Patrick McHardy <kaber@trash.net> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
committed by
David S. Miller
parent
334a8132d9
commit
1092cb2197
@@ -72,6 +72,17 @@ static int validate_nla(struct nlattr *nla, int maxtype,
|
||||
return -ERANGE;
|
||||
break;
|
||||
|
||||
case NLA_NESTED_COMPAT:
|
||||
if (attrlen < pt->len)
|
||||
return -ERANGE;
|
||||
if (attrlen < NLA_ALIGN(pt->len))
|
||||
break;
|
||||
if (attrlen < NLA_ALIGN(pt->len) + NLA_HDRLEN)
|
||||
return -ERANGE;
|
||||
nla = nla_data(nla) + NLA_ALIGN(pt->len);
|
||||
if (attrlen < NLA_ALIGN(pt->len) + NLA_HDRLEN + nla_len(nla))
|
||||
return -ERANGE;
|
||||
break;
|
||||
default:
|
||||
if (pt->len)
|
||||
minlen = pt->len;
|
||||
|
Reference in New Issue
Block a user