Message ID | 20180919194905.16462-2-johannes@sipsolutions.net (mailing list archive) |
---|---|
State | Superseded |
Delegated to: | Johannes Berg |
Headers | show |
Series | netlink: nested policy validation | expand |
From: Johannes Berg > Sent: 19 September 2018 20:49 > This isn't used anywhere, so we might as well get rid of it. > > Reviewed-by: David Ahern <dsahern@gmail.com> > Signed-off-by: Johannes Berg <johannes.berg@intel.com> > --- > include/net/netlink.h | 2 -- > lib/nlattr.c | 11 ----------- > 2 files changed, 13 deletions(-) > > diff --git a/include/net/netlink.h b/include/net/netlink.h > index 318b1ded3833..b680fe365e91 100644 > --- a/include/net/netlink.h > +++ b/include/net/netlink.h > @@ -172,7 +172,6 @@ enum { > NLA_FLAG, > NLA_MSECS, > NLA_NESTED, > - NLA_NESTED_COMPAT, > NLA_NUL_STRING, > NLA_BINARY, > NLA_S8, ... Is it safe to remove an item from this emun ? David - Registered Address Lakeside, Bramley Road, Mount Farm, Milton Keynes, MK1 1PT, UK Registration No: 1397386 (Wales)
>> @@ -172,7 +172,6 @@ enum { >> NLA_FLAG, >> NLA_MSECS, >> NLA_NESTED, >> - NLA_NESTED_COMPAT, >> NLA_NUL_STRING, >> NLA_BINARY, >> NLA_S8, >... > >Is it safe to remove an item from this emun ? I believe it is, since it's not part of uapi. At least as long as you recompile all netlink policies afterwards. johannes
On Thu, 2018-09-20 at 16:56 +0200, Johannes Berg wrote: > > > > > @@ -172,7 +172,6 @@ enum { > > > NLA_FLAG, > > > NLA_MSECS, > > > NLA_NESTED, > > > - NLA_NESTED_COMPAT, > > > NLA_NUL_STRING, > > > NLA_BINARY, > > > NLA_S8, > > > > ... > > > > Is it safe to remove an item from this emun ? > > I believe it is, since it's not part of uapi. At least as long as you > recompile all netlink policies afterwards. That came out confusing. It isn't UAPI, so the renumbering doesn't matter, at least as long as you don't try to load a module compiled with one version of the enum into a kernel compiled with the other, or something strange like that. johannes
diff --git a/include/net/netlink.h b/include/net/netlink.h index 318b1ded3833..b680fe365e91 100644 --- a/include/net/netlink.h +++ b/include/net/netlink.h @@ -172,7 +172,6 @@ enum { NLA_FLAG, NLA_MSECS, NLA_NESTED, - NLA_NESTED_COMPAT, NLA_NUL_STRING, NLA_BINARY, NLA_S8, @@ -203,7 +202,6 @@ enum { * NLA_BINARY Maximum length of attribute payload * NLA_NESTED Don't use `len' field -- length verification is * done by checking len of nested header (or empty) - * NLA_NESTED_COMPAT Minimum length of structure payload * NLA_U8, NLA_U16, * NLA_U32, NLA_U64, * NLA_S8, NLA_S16, diff --git a/lib/nlattr.c b/lib/nlattr.c index bb6fe5ed4ecf..120ad569e13d 100644 --- a/lib/nlattr.c +++ b/lib/nlattr.c @@ -140,17 +140,6 @@ static int validate_nla(const 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; case NLA_NESTED: /* a nested attributes is allowed to be empty; if its not, * it must have a size of at least NLA_HDRLEN.