aboutsummaryrefslogtreecommitdiffstats
path: root/net/xfrm/xfrm_user.c
diff options
context:
space:
mode:
authorPatrick McHardy <kaber@trash.net>2005-08-14 22:25:47 -0400
committerDavid S. Miller <davem@sunset.davemloft.net>2005-08-29 19:00:34 -0400
commit43e943c32b9213b5d25407b281c94aaa474fd9a6 (patch)
tree7844a1aa95d697ae378bc799085e1b29eb0b8a48 /net/xfrm/xfrm_user.c
parentad93e266a17c6f606e96304c866eb73665ae34fa (diff)
[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>
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r--net/xfrm/xfrm_user.c8
1 files changed, 8 insertions, 0 deletions
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
1157nlmsg_failure: 1159nlmsg_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
1231nlmsg_failure: 1235nlmsg_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
1460nlmsg_failure: 1466nlmsg_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
1485nlmsg_failure: 1493nlmsg_failure: