[NETLINK]: Fix missing dst_groups initializations in netlink_broadcast users
netlink_broadcast users must initialize NETLINK_CB(skb).dst_groups to the
destination group mask for netlink_recvmsg.
Signed-off-by: Patrick McHardy <kaber@trash.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index 33ceeea..4d553a1 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -1152,6 +1152,8 @@
nlh->nlmsg_len = skb->tail - b;
+ NETLINK_CB(skb).dst_groups = XFRMGRP_SA;
+
return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC);
nlmsg_failure:
@@ -1226,6 +1228,8 @@
nlh->nlmsg_len = skb->tail - b;
+ NETLINK_CB(skb).dst_groups = XFRMGRP_SA;
+
return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC);
nlmsg_failure:
@@ -1455,6 +1459,8 @@
nlh->nlmsg_len = skb->tail - b;
+ NETLINK_CB(skb).dst_groups = XFRMGRP_POLICY;
+
return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC);
nlmsg_failure:
@@ -1480,6 +1486,8 @@
nlh->nlmsg_len = skb->tail - b;
+ NETLINK_CB(skb).dst_groups = XFRMGRP_POLICY;
+
return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC);
nlmsg_failure: