On 9/18/18 6:12 AM, Johannes Berg wrote: > diff --git a/lib/nlattr.c b/lib/nlattr.c > index 120ad569e13d..efbd6c1aff29 100644 > --- a/lib/nlattr.c > +++ b/lib/nlattr.c > @@ -181,9 +181,13 @@ int nla_validate(const struct nlattr *head, int len, int > maxtype, > int rem; > > nla_for_each_attr(nla, head, len, rem) { > - int err = validate_nla(nla, maxtype, policy, NULL); > + static const char _msg[] = "Attribute failed policy validation"; > + const char *msg = _msg; > + int err = validate_nla(nla, maxtype, policy, &msg); > > if (err < 0) { > + if (extack) > + extack->_msg = msg; > NL_SET_BAD_ATTR(extack, nla); > return err; > } >
I take it this set is on top of another set - the NLA_REJECT?