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!

Reply via email to