Fri, Oct 11, 2019 at 09:40:09AM CEST, mkube...@suse.cz wrote: >Commit c10e6cf85e7d ("net: genetlink: push attrbuf allocation and parsing >to a separate function") moved attribute buffer allocation and attribute >parsing from genl_family_rcv_msg_doit() into a separate function >genl_family_rcv_msg_attrs_parse() which, unlike the previous code, calls >__nlmsg_parse() even if family->maxattr is 0 (i.e. the family does its own >parsing). The parser error is ignored and does not propagate out of >genl_family_rcv_msg_attrs_parse() but an error message ("Unknown attribute >type") is set in extack and if further processing generates no error or >warning, it stays there and is interpreted as a warning by userspace. > >Dumpit requests are not affected as genl_family_rcv_msg_dumpit() bypasses >the call of genl_family_rcv_msg_attrs_parse() if family->maxattr is zero. >Move this logic inside genl_family_rcv_msg_attrs_parse() so that we don't >have to handle it in each caller. > >v3: put the check inside genl_family_rcv_msg_attrs_parse() >v2: adjust also argument of genl_family_rcv_msg_attrs_free() > >Fixes: c10e6cf85e7d ("net: genetlink: push attrbuf allocation and parsing to a >separate function") >Signed-off-by: Michal Kubecek <mkube...@suse.cz>
Acked-by: Jiri Pirko <j...@mellanox.com> Thanks!