Re: [PATCH net-next 1/3] genetlink: do not validate dump requests if there is no policy

From: Michal Kubecek
Date: Thu May 02 2019 - 09:32:54 EST


On Thu, May 02, 2019 at 03:13:00PM +0200, Johannes Berg wrote:
> On Thu, 2019-05-02 at 15:10 +0200, Michal Kubecek wrote:
> > On Thu, May 02, 2019 at 02:51:33PM +0200, Johannes Berg wrote:
> > > On Thu, 2019-05-02 at 12:48 +0000, Michal Kubecek wrote:
> > > > Unlike do requests, dump genetlink requests now perform strict validation
> > > > by default even if the genetlink family does not set policy and maxtype
> > > > because it does validation and parsing on its own (e.g. because it wants to
> > > > allow different message format for different commands). While the null
> > > > policy will be ignored, maxtype (which would be zero) is still checked so
> > > > that any attribute will fail validation.
> > > >
> > > > The solution is to only call __nla_validate() from genl_family_rcv_msg()
> > > > if family->maxtype is set.
> > >
> > > D'oh. Which family was it that you found this on? I checked only ones
> > > with policy I guess.
> >
> > It was with my ethtool netlink series (still work in progress).
>
> Then you should probably *have* a policy to get all the other goodies
> like automatic policy export (once I repost those patches)

Wouldn't it mean effecitvely ending up with only one command (in
genetlink sense) and having to distinguish actual commands with
atributes? Even if I wanted to have just "get" and "set" command, common
policy wouldn't allow me to say which attributes are allowed for each of
them.

Michal