Re: [PATCH] net: netlink: fix error check in genl_family_rcv_msg_doit

From: Pavel Skripkin
Date: Sat Apr 03 2021 - 12:36:18 EST


Hi!

On Sat, 2021-04-03 at 18:26 +0200, Johannes Berg wrote:
> On Sat, 2021-04-03 at 15:13 +0000, Pavel Skripkin wrote:
> > genl_family_rcv_msg_attrs_parse() can return NULL
> > pointer:
> >
> >         if (!ops->maxattr)
> >                 return NULL;
> >
> > But this condition doesn't cause an error in
> > genl_family_rcv_msg_doit
>
> And I'm almost certain that in fact it shouldn't cause an error!
>
> If the family doesn't set maxattr then it doesn't want to have
> generic
> netlink doing the parsing, but still it should be possible to call
> the
> ops. Look at fs/dlm/netlink.c for example, it doesn't even have
> attributes. You're breaking it with this patch.
>
> Also, the (NULL) pointer is not actually _used_ anywhere, so why
> would
> it matter?
>

Oh, I see now. I thought, it could cause a NULL ptr deference in some
cases, because some ->doit() functions accessing info.attrs directly.
Now I understand the point, sorry for my misunderstanding the
situation.

> johannes
>

With regards,
Pavel Skripkin