On Wed, Sep 12, 2018 at 09:32:45AM +0200, Johannes Berg wrote: > From: Johannes Berg <johannes.berg@xxxxxxxxx> > > In some situations some netlink attributes may be used for output > only (kernel->userspace) or may be reserved for future use. It's > then helpful to be able to prevent userspace from using them in > messages sent to the kernel, since they'd otherwise be ignored and > any future will become impossible if this happens. > > Add NLA_REJECT to the policy which does nothing but reject (with > EINVAL) validation of any messages containing this attribute. > > The specific case I have in mind now is a shared nested attribute > containing request/response data, and it would be pointless and > potentially confusing to have userspace include response data in > the messages that actually contain a request. I find this feature very useful. Actually, I was a bit surprised when I found I can't mark an attribute "forbidden" using policy. IMHO it would be even nicer if one could also specify an error message to use in extack if NLA_REJECT is applied; the easiest way would be using .validation_data and passing extack to validate_nla() but I'm not sure if it wouldn't qualify as an abuse. Michal Kubecek