From: Richard Alpe Date: Mon, 16 May 2016 09:14:54 +0000 (+0200) Subject: tipc: check nl sock before parsing nested attributes X-Git-Tag: firefly_0821_release~176^2~4^2~40^2~79 X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=23cdd8c3cbe9d790f23d7f9ae14e9b828f56f69c;p=firefly-linux-kernel-4.4.55.git tipc: check nl sock before parsing nested attributes [ Upstream commit 45e093ae2830cd1264677d47ff9a95a71f5d9f9c ] Make sure the socket for which the user is listing publication exists before parsing the socket netlink attributes. Prior to this patch a call without any socket caused a NULL pointer dereference in tipc_nl_publ_dump(). Tested-and-reported-by: Baozeng Ding Signed-off-by: Richard Alpe Acked-by: Jon Maloy Signed-off-by: David S. Miller Signed-off-by: Greg Kroah-Hartman --- diff --git a/net/tipc/socket.c b/net/tipc/socket.c index e53003cf7703..9b713e0ce00d 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c @@ -2814,6 +2814,9 @@ int tipc_nl_publ_dump(struct sk_buff *skb, struct netlink_callback *cb) if (err) return err; + if (!attrs[TIPC_NLA_SOCK]) + return -EINVAL; + err = nla_parse_nested(sock, TIPC_NLA_SOCK_MAX, attrs[TIPC_NLA_SOCK], tipc_nl_sock_policy);