diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c
index 88f4d746aa05a58c51eedc4da5fd4fe409c08b1e..bc000619f4f87c19ea00bcd1b693150c3f40dbde 100644
--- a/lib/kobject_uevent.c
+++ b/lib/kobject_uevent.c
@@ -93,6 +93,7 @@ static int send_uevent(const char *signal, const char *obj,
 		}
 	}
 
+	NETLINK_CB(skb).dst_groups = 1;
 	return netlink_broadcast(uevent_sock, skb, 0, 1, gfp_mask);
 }
 
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c
index 33ceeea783b1cdbf7164b28223d2b8f51a9aa8c9..4d553a1d21696f7c2204c3cc22519c37548e1294 100644
--- a/net/xfrm/xfrm_user.c
+++ b/net/xfrm/xfrm_user.c
@@ -1152,6 +1152,8 @@ static int xfrm_notify_sa_flush(struct km_event *c)
 
 	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 @@ static int xfrm_notify_sa(struct xfrm_state *x, struct km_event *c)
 
 	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 @@ static int xfrm_notify_policy(struct xfrm_policy *xp, int dir, struct km_event *
 
 	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 @@ static int xfrm_notify_policy_flush(struct km_event *c)
 
 	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:
diff --git a/security/selinux/netlink.c b/security/selinux/netlink.c
index 341dbe2579be6ca68531a033a864da6ac5cb4bef..0f7be6524555f314c545a5a9fb9163ee81fe65e8 100644
--- a/security/selinux/netlink.c
+++ b/security/selinux/netlink.c
@@ -80,6 +80,7 @@ static void selnl_notify(int msgtype, void *data)
 	nlh = NLMSG_PUT(skb, 0, 0, msgtype, len);
 	selnl_add_payload(nlh, len, msgtype, data);
 	nlh->nlmsg_len = skb->tail - tmp;
+	NETLINK_CB(skb).dst_groups = SELNL_GRP_AVC;
 	netlink_broadcast(selnl, skb, 0, SELNL_GRP_AVC, GFP_USER);
 out:
 	return;