Re: [PATCH 4.4 24/36] netlink: ensure to loop over all netns in genlmsg_multicast_allns()

From: Ben Hutchings
Date: Mon Mar 12 2018 - 20:04:30 EST


On Fri, 2018-03-09 at 16:18 -0800, Greg Kroah-Hartman wrote:
> 4.4-stable review patch.ÂÂIf anyone has any objections, please let me know.
>
> ------------------
>
> From: Nicolas Dichtel <nicolas.dichtel@xxxxxxxxx>
>
>
> [ Upstream commit cb9f7a9a5c96a773bbc9c70660dc600cfff82f82 ]
[...]Â
> - return nlmsg_multicast(prev->genl_sock, skb, portid, group, flags);
> + err = nlmsg_multicast(prev->genl_sock, skb, portid, group, flags);
> + if (!err)
> + delivered = true;
> + else if (err != -ESRCH)
> + goto error;

This call to nlmsg_multicast() consumes skb rather than a clone, so we
must not free it again here.

Ben.

> + return delivered ? 0 : -ESRCH;
> Â error:
> Â kfree_skb(skb);
> Â return err;
>
>
>
--
Ben Hutchings
Software Developer, Codethink Ltd.