diff options
Diffstat (limited to 'net/xfrm/xfrm_user.c')
-rw-r--r-- | net/xfrm/xfrm_user.c | 31 |
1 files changed, 17 insertions, 14 deletions
diff --git a/net/xfrm/xfrm_user.c b/net/xfrm/xfrm_user.c index 8da3e25b2c4c..c35336a0f71b 100644 --- a/net/xfrm/xfrm_user.c +++ b/net/xfrm/xfrm_user.c | |||
@@ -1125,9 +1125,8 @@ static int xfrm_exp_state_notify(struct xfrm_state *x, struct km_event *c) | |||
1125 | if (build_expire(skb, x, c->data.hard) < 0) | 1125 | if (build_expire(skb, x, c->data.hard) < 0) |
1126 | BUG(); | 1126 | BUG(); |
1127 | 1127 | ||
1128 | NETLINK_CB(skb).dst_groups = XFRMGRP_EXPIRE; | 1128 | NETLINK_CB(skb).dst_group = XFRMNLGRP_EXPIRE; |
1129 | 1129 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_EXPIRE, GFP_ATOMIC); | |
1130 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_EXPIRE, GFP_ATOMIC); | ||
1131 | } | 1130 | } |
1132 | 1131 | ||
1133 | static int xfrm_notify_sa_flush(struct km_event *c) | 1132 | static int xfrm_notify_sa_flush(struct km_event *c) |
@@ -1152,7 +1151,8 @@ static int xfrm_notify_sa_flush(struct km_event *c) | |||
1152 | 1151 | ||
1153 | nlh->nlmsg_len = skb->tail - b; | 1152 | nlh->nlmsg_len = skb->tail - b; |
1154 | 1153 | ||
1155 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC); | 1154 | NETLINK_CB(skb).dst_group = XFRMNLGRP_SA; |
1155 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_SA, GFP_ATOMIC); | ||
1156 | 1156 | ||
1157 | nlmsg_failure: | 1157 | nlmsg_failure: |
1158 | kfree_skb(skb); | 1158 | kfree_skb(skb); |
@@ -1226,7 +1226,8 @@ static int xfrm_notify_sa(struct xfrm_state *x, struct km_event *c) | |||
1226 | 1226 | ||
1227 | nlh->nlmsg_len = skb->tail - b; | 1227 | nlh->nlmsg_len = skb->tail - b; |
1228 | 1228 | ||
1229 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_SA, GFP_ATOMIC); | 1229 | NETLINK_CB(skb).dst_group = XFRMNLGRP_SA; |
1230 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_SA, GFP_ATOMIC); | ||
1230 | 1231 | ||
1231 | nlmsg_failure: | 1232 | nlmsg_failure: |
1232 | rtattr_failure: | 1233 | rtattr_failure: |
@@ -1304,9 +1305,8 @@ static int xfrm_send_acquire(struct xfrm_state *x, struct xfrm_tmpl *xt, | |||
1304 | if (build_acquire(skb, x, xt, xp, dir) < 0) | 1305 | if (build_acquire(skb, x, xt, xp, dir) < 0) |
1305 | BUG(); | 1306 | BUG(); |
1306 | 1307 | ||
1307 | NETLINK_CB(skb).dst_groups = XFRMGRP_ACQUIRE; | 1308 | NETLINK_CB(skb).dst_group = XFRMNLGRP_ACQUIRE; |
1308 | 1309 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_ACQUIRE, GFP_ATOMIC); | |
1309 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_ACQUIRE, GFP_ATOMIC); | ||
1310 | } | 1310 | } |
1311 | 1311 | ||
1312 | /* User gives us xfrm_user_policy_info followed by an array of 0 | 1312 | /* User gives us xfrm_user_policy_info followed by an array of 0 |
@@ -1405,9 +1405,8 @@ static int xfrm_exp_policy_notify(struct xfrm_policy *xp, int dir, struct km_eve | |||
1405 | if (build_polexpire(skb, xp, dir, c->data.hard) < 0) | 1405 | if (build_polexpire(skb, xp, dir, c->data.hard) < 0) |
1406 | BUG(); | 1406 | BUG(); |
1407 | 1407 | ||
1408 | NETLINK_CB(skb).dst_groups = XFRMGRP_EXPIRE; | 1408 | NETLINK_CB(skb).dst_group = XFRMNLGRP_EXPIRE; |
1409 | 1409 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_EXPIRE, GFP_ATOMIC); | |
1410 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_EXPIRE, GFP_ATOMIC); | ||
1411 | } | 1410 | } |
1412 | 1411 | ||
1413 | static int xfrm_notify_policy(struct xfrm_policy *xp, int dir, struct km_event *c) | 1412 | static int xfrm_notify_policy(struct xfrm_policy *xp, int dir, struct km_event *c) |
@@ -1455,7 +1454,8 @@ static int xfrm_notify_policy(struct xfrm_policy *xp, int dir, struct km_event * | |||
1455 | 1454 | ||
1456 | nlh->nlmsg_len = skb->tail - b; | 1455 | nlh->nlmsg_len = skb->tail - b; |
1457 | 1456 | ||
1458 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC); | 1457 | NETLINK_CB(skb).dst_group = XFRMNLGRP_POLICY; |
1458 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_POLICY, GFP_ATOMIC); | ||
1459 | 1459 | ||
1460 | nlmsg_failure: | 1460 | nlmsg_failure: |
1461 | rtattr_failure: | 1461 | rtattr_failure: |
@@ -1480,7 +1480,8 @@ static int xfrm_notify_policy_flush(struct km_event *c) | |||
1480 | 1480 | ||
1481 | nlh->nlmsg_len = skb->tail - b; | 1481 | nlh->nlmsg_len = skb->tail - b; |
1482 | 1482 | ||
1483 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMGRP_POLICY, GFP_ATOMIC); | 1483 | NETLINK_CB(skb).dst_group = XFRMNLGRP_POLICY; |
1484 | return netlink_broadcast(xfrm_nl, skb, 0, XFRMNLGRP_POLICY, GFP_ATOMIC); | ||
1484 | 1485 | ||
1485 | nlmsg_failure: | 1486 | nlmsg_failure: |
1486 | kfree_skb(skb); | 1487 | kfree_skb(skb); |
@@ -1519,7 +1520,8 @@ static int __init xfrm_user_init(void) | |||
1519 | { | 1520 | { |
1520 | printk(KERN_INFO "Initializing IPsec netlink socket\n"); | 1521 | printk(KERN_INFO "Initializing IPsec netlink socket\n"); |
1521 | 1522 | ||
1522 | xfrm_nl = netlink_kernel_create(NETLINK_XFRM, xfrm_netlink_rcv); | 1523 | xfrm_nl = netlink_kernel_create(NETLINK_XFRM, XFRMNLGRP_MAX, |
1524 | xfrm_netlink_rcv, THIS_MODULE); | ||
1523 | if (xfrm_nl == NULL) | 1525 | if (xfrm_nl == NULL) |
1524 | return -ENOMEM; | 1526 | return -ENOMEM; |
1525 | 1527 | ||
@@ -1537,3 +1539,4 @@ static void __exit xfrm_user_exit(void) | |||
1537 | module_init(xfrm_user_init); | 1539 | module_init(xfrm_user_init); |
1538 | module_exit(xfrm_user_exit); | 1540 | module_exit(xfrm_user_exit); |
1539 | MODULE_LICENSE("GPL"); | 1541 | MODULE_LICENSE("GPL"); |
1542 | MODULE_ALIAS_NET_PF_PROTO(PF_NETLINK, NETLINK_XFRM); | ||