diff options
| -rw-r--r-- | lib/kobject_uevent.c | 1 | ||||
| -rw-r--r-- | net/xfrm/xfrm_user.c | 8 | ||||
| -rw-r--r-- | security/selinux/netlink.c | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/lib/kobject_uevent.c b/lib/kobject_uevent.c index 88f4d746aa05..bc000619f4f8 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, | |||
| 93 | } | 93 | } |
| 94 | } | 94 | } |
| 95 | 95 | ||
| 96 | NETLINK_CB(skb).dst_groups = 1; | ||
| 96 | return netlink_broadcast(uevent_sock, skb, 0, 1, gfp_mask); | 97 | return netlink_broadcast(uevent_sock, skb, 0, 1, gfp_mask); |
| 97 | } | 98 | } |
| 98 | 99 | ||
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 33ceeea783b1..4d553a1d2169 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) | |||
| 1152 | 1152 | ||
| 1153 | nlh->nlmsg_len = skb->tail - b; | 1153 | nlh->nlmsg_len = skb->tail - b; |
| 1154 | 1154 | ||
| 1155 | NETLINK_CB(skb).dst_groups = XFRMGRP_SA; | ||
| 1156 | |||
| 1155 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC); | 1157 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC); |
| 1156 | 1158 | ||
| 1157 | nlmsg_failure: | 1159 | nlmsg_failure: |
| @@ -1226,6 +1228,8 @@ static int xfrm_notify_sa(struct xfrm_state *x, struct km_event *c) | |||
| 1226 | 1228 | ||
| 1227 | nlh->nlmsg_len = skb->tail - b; | 1229 | nlh->nlmsg_len = skb->tail - b; |
| 1228 | 1230 | ||
| 1231 | NETLINK_CB(skb).dst_groups = XFRMGRP_SA; | ||
| 1232 | |||
| 1229 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC); | 1233 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC); |
| 1230 | 1234 | ||
| 1231 | nlmsg_failure: | 1235 | nlmsg_failure: |
| @@ -1455,6 +1459,8 @@ static int xfrm_notify_policy(struct xfrm_policy *xp, int dir, struct km_event * | |||
| 1455 | 1459 | ||
| 1456 | nlh->nlmsg_len = skb->tail - b; | 1460 | nlh->nlmsg_len = skb->tail - b; |
| 1457 | 1461 | ||
| 1462 | NETLINK_CB(skb).dst_groups = XFRMGRP_POLICY; | ||
| 1463 | |||
| 1458 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC); | 1464 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC); |
| 1459 | 1465 | ||
| 1460 | nlmsg_failure: | 1466 | nlmsg_failure: |
| @@ -1480,6 +1486,8 @@ static int xfrm_notify_policy_flush(struct km_event *c) | |||
| 1480 | 1486 | ||
| 1481 | nlh->nlmsg_len = skb->tail - b; | 1487 | nlh->nlmsg_len = skb->tail - b; |
| 1482 | 1488 | ||
| 1489 | NETLINK_CB(skb).dst_groups = XFRMGRP_POLICY; | ||
| 1490 | |||
| 1483 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC); | 1491 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC); |
| 1484 | 1492 | ||
| 1485 | nlmsg_failure: | 1493 | nlmsg_failure: |
diff --git a/security/selinux/netlink.c b/security/selinux/netlink.c index 341dbe2579be..0f7be6524555 100644 --- a/security/selinux/netlink.c +++ b/security/selinux/netlink.c | |||
| @@ -80,6 +80,7 @@ static void selnl_notify(int msgtype, void *data) | |||
| 80 | nlh = NLMSG_PUT(skb, 0, 0, msgtype, len); | 80 | nlh = NLMSG_PUT(skb, 0, 0, msgtype, len); |
| 81 | selnl_add_payload(nlh, len, msgtype, data); | 81 | selnl_add_payload(nlh, len, msgtype, data); |
| 82 | nlh->nlmsg_len = skb->tail - tmp; | 82 | nlh->nlmsg_len = skb->tail - tmp; |
| 83 | NETLINK_CB(skb).dst_groups = SELNL_GRP_AVC; | ||
| 83 | netlink_broadcast(selnl, skb, 0, SELNL_GRP_AVC, GFP_USER); | 84 | netlink_broadcast(selnl, skb, 0, SELNL_GRP_AVC, GFP_USER); |
| 84 | out: | 85 | out: |
| 85 | return; | 86 | return; |
