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

From: Pavel Skripkin
Date: Sat Apr 03 2021 - 11:14:07 EST


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

Signed-off-by: Pavel Skripkin <paskripkin@xxxxxxxxx>
---
net/netlink/genetlink.c | 2 ++
1 file changed, 2 insertions(+)

diff --git a/net/netlink/genetlink.c b/net/netlink/genetlink.c
index 2d6fdf40df66..c06d06ead181 100644
--- a/net/netlink/genetlink.c
+++ b/net/netlink/genetlink.c
@@ -719,6 +719,8 @@ static int genl_family_rcv_msg_doit(const struct genl_family *family,
GENL_DONT_VALIDATE_STRICT);
if (IS_ERR(attrbuf))
return PTR_ERR(attrbuf);
+ if (!attrbuf)
+ return -EINVAL;

info.snd_seq = nlh->nlmsg_seq;
info.snd_portid = NETLINK_CB(skb).portid;
--
2.30.2