diff options
author | David S. Miller <davem@davemloft.net> | 2018-02-27 11:01:40 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-02-27 11:01:40 -0500 |
commit | 23363b87a80a2eeb366c9b5b93248b7d73125ba8 (patch) | |
tree | 5c5d9694c45de9a34528de7e14627425acfcc4b7 | |
parent | 7f897db37b76235d50151dfea7d543568d54535a (diff) | |
parent | 3edbccf96d2de30e7b986ceae090becfc07d3573 (diff) |
Merge branch 'pernet_operations-convert-part-3'
Kirill Tkhai says:
====================
Converting pernet_operations (part #3)
This patchset continues to review and to convert pernet_operations
to async. Where it is possible, they are grouped by type of actions
init/exit methods ([1/28], for example). I hope this will make
the review a little bit easier. The changes are tree-wide: in net, fs,
drivers and security.
====================
Signed-off-by: David S. Miller <davem@davemloft.net>
58 files changed, 61 insertions, 0 deletions
diff --git a/drivers/infiniband/core/cma.c b/drivers/infiniband/core/cma.c index e66963ca58bd..3ae32d1ddd27 100644 --- a/drivers/infiniband/core/cma.c +++ b/drivers/infiniband/core/cma.c | |||
@@ -4549,6 +4549,7 @@ static struct pernet_operations cma_pernet_operations = { | |||
4549 | .exit = cma_exit_net, | 4549 | .exit = cma_exit_net, |
4550 | .id = &cma_pernet_id, | 4550 | .id = &cma_pernet_id, |
4551 | .size = sizeof(struct cma_pernet), | 4551 | .size = sizeof(struct cma_pernet), |
4552 | .async = true, | ||
4552 | }; | 4553 | }; |
4553 | 4554 | ||
4554 | static int __init cma_init(void) | 4555 | static int __init cma_init(void) |
diff --git a/drivers/net/bonding/bond_main.c b/drivers/net/bonding/bond_main.c index c669554d70bb..4c19d23dd282 100644 --- a/drivers/net/bonding/bond_main.c +++ b/drivers/net/bonding/bond_main.c | |||
@@ -4791,6 +4791,7 @@ static struct pernet_operations bond_net_ops = { | |||
4791 | .exit = bond_net_exit, | 4791 | .exit = bond_net_exit, |
4792 | .id = &bond_net_id, | 4792 | .id = &bond_net_id, |
4793 | .size = sizeof(struct bond_net), | 4793 | .size = sizeof(struct bond_net), |
4794 | .async = true, | ||
4794 | }; | 4795 | }; |
4795 | 4796 | ||
4796 | static int __init bonding_init(void) | 4797 | static int __init bonding_init(void) |
diff --git a/drivers/net/geneve.c b/drivers/net/geneve.c index b919e89a9b93..516dd59249d7 100644 --- a/drivers/net/geneve.c +++ b/drivers/net/geneve.c | |||
@@ -1694,6 +1694,7 @@ static struct pernet_operations geneve_net_ops = { | |||
1694 | .exit_batch = geneve_exit_batch_net, | 1694 | .exit_batch = geneve_exit_batch_net, |
1695 | .id = &geneve_net_id, | 1695 | .id = &geneve_net_id, |
1696 | .size = sizeof(struct geneve_net), | 1696 | .size = sizeof(struct geneve_net), |
1697 | .async = true, | ||
1697 | }; | 1698 | }; |
1698 | 1699 | ||
1699 | static int __init geneve_init_module(void) | 1700 | static int __init geneve_init_module(void) |
diff --git a/drivers/net/gtp.c b/drivers/net/gtp.c index f38e32a7ec9c..127edd23018f 100644 --- a/drivers/net/gtp.c +++ b/drivers/net/gtp.c | |||
@@ -1325,6 +1325,7 @@ static struct pernet_operations gtp_net_ops = { | |||
1325 | .exit = gtp_net_exit, | 1325 | .exit = gtp_net_exit, |
1326 | .id = >p_net_id, | 1326 | .id = >p_net_id, |
1327 | .size = sizeof(struct gtp_net), | 1327 | .size = sizeof(struct gtp_net), |
1328 | .async = true, | ||
1328 | }; | 1329 | }; |
1329 | 1330 | ||
1330 | static int __init gtp_init(void) | 1331 | static int __init gtp_init(void) |
diff --git a/drivers/net/ipvlan/ipvlan_main.c b/drivers/net/ipvlan/ipvlan_main.c index 67c91ceda979..d05b902c925b 100644 --- a/drivers/net/ipvlan/ipvlan_main.c +++ b/drivers/net/ipvlan/ipvlan_main.c | |||
@@ -1024,6 +1024,7 @@ static struct pernet_operations ipvlan_net_ops = { | |||
1024 | .id = &ipvlan_netid, | 1024 | .id = &ipvlan_netid, |
1025 | .size = sizeof(struct ipvlan_netns), | 1025 | .size = sizeof(struct ipvlan_netns), |
1026 | .exit = ipvlan_ns_exit, | 1026 | .exit = ipvlan_ns_exit, |
1027 | .async = true, | ||
1027 | }; | 1028 | }; |
1028 | 1029 | ||
1029 | static int __init ipvlan_init_module(void) | 1030 | static int __init ipvlan_init_module(void) |
diff --git a/drivers/net/ppp/ppp_generic.c b/drivers/net/ppp/ppp_generic.c index 255a5def56e9..a393c1dff7dc 100644 --- a/drivers/net/ppp/ppp_generic.c +++ b/drivers/net/ppp/ppp_generic.c | |||
@@ -971,6 +971,7 @@ static struct pernet_operations ppp_net_ops = { | |||
971 | .exit = ppp_exit_net, | 971 | .exit = ppp_exit_net, |
972 | .id = &ppp_net_id, | 972 | .id = &ppp_net_id, |
973 | .size = sizeof(struct ppp_net), | 973 | .size = sizeof(struct ppp_net), |
974 | .async = true, | ||
974 | }; | 975 | }; |
975 | 976 | ||
976 | static int ppp_unit_register(struct ppp *ppp, int unit, bool ifname_is_set) | 977 | static int ppp_unit_register(struct ppp *ppp, int unit, bool ifname_is_set) |
diff --git a/drivers/net/ppp/pppoe.c b/drivers/net/ppp/pppoe.c index bd89d1c559ce..c10e6181a2f0 100644 --- a/drivers/net/ppp/pppoe.c +++ b/drivers/net/ppp/pppoe.c | |||
@@ -1161,6 +1161,7 @@ static struct pernet_operations pppoe_net_ops = { | |||
1161 | .exit = pppoe_exit_net, | 1161 | .exit = pppoe_exit_net, |
1162 | .id = &pppoe_net_id, | 1162 | .id = &pppoe_net_id, |
1163 | .size = sizeof(struct pppoe_net), | 1163 | .size = sizeof(struct pppoe_net), |
1164 | .async = true, | ||
1164 | }; | 1165 | }; |
1165 | 1166 | ||
1166 | static int __init pppoe_init(void) | 1167 | static int __init pppoe_init(void) |
diff --git a/drivers/net/vrf.c b/drivers/net/vrf.c index 9ce0182223a0..e459e601c57f 100644 --- a/drivers/net/vrf.c +++ b/drivers/net/vrf.c | |||
@@ -1434,6 +1434,7 @@ static struct pernet_operations vrf_net_ops __net_initdata = { | |||
1434 | .init = vrf_netns_init, | 1434 | .init = vrf_netns_init, |
1435 | .id = &vrf_net_id, | 1435 | .id = &vrf_net_id, |
1436 | .size = sizeof(bool), | 1436 | .size = sizeof(bool), |
1437 | .async = true, | ||
1437 | }; | 1438 | }; |
1438 | 1439 | ||
1439 | static int __init vrf_init_module(void) | 1440 | static int __init vrf_init_module(void) |
diff --git a/drivers/net/vxlan.c b/drivers/net/vxlan.c index fab7a4db249e..aa5f034d6ad1 100644 --- a/drivers/net/vxlan.c +++ b/drivers/net/vxlan.c | |||
@@ -3752,6 +3752,7 @@ static struct pernet_operations vxlan_net_ops = { | |||
3752 | .exit_batch = vxlan_exit_batch_net, | 3752 | .exit_batch = vxlan_exit_batch_net, |
3753 | .id = &vxlan_net_id, | 3753 | .id = &vxlan_net_id, |
3754 | .size = sizeof(struct vxlan_net), | 3754 | .size = sizeof(struct vxlan_net), |
3755 | .async = true, | ||
3755 | }; | 3756 | }; |
3756 | 3757 | ||
3757 | static int __init vxlan_init_module(void) | 3758 | static int __init vxlan_init_module(void) |
diff --git a/fs/lockd/svc.c b/fs/lockd/svc.c index 9c36d614bf89..2dee4e03ff1c 100644 --- a/fs/lockd/svc.c +++ b/fs/lockd/svc.c | |||
@@ -709,6 +709,7 @@ static struct pernet_operations lockd_net_ops = { | |||
709 | .exit = lockd_exit_net, | 709 | .exit = lockd_exit_net, |
710 | .id = &lockd_net_id, | 710 | .id = &lockd_net_id, |
711 | .size = sizeof(struct lockd_net), | 711 | .size = sizeof(struct lockd_net), |
712 | .async = true, | ||
712 | }; | 713 | }; |
713 | 714 | ||
714 | 715 | ||
diff --git a/fs/nfs/inode.c b/fs/nfs/inode.c index 7d893543cf3b..6c3083c992e5 100644 --- a/fs/nfs/inode.c +++ b/fs/nfs/inode.c | |||
@@ -2122,6 +2122,7 @@ static struct pernet_operations nfs_net_ops = { | |||
2122 | .exit = nfs_net_exit, | 2122 | .exit = nfs_net_exit, |
2123 | .id = &nfs_net_id, | 2123 | .id = &nfs_net_id, |
2124 | .size = sizeof(struct nfs_net), | 2124 | .size = sizeof(struct nfs_net), |
2125 | .async = true, | ||
2125 | }; | 2126 | }; |
2126 | 2127 | ||
2127 | /* | 2128 | /* |
diff --git a/fs/nfs_common/grace.c b/fs/nfs_common/grace.c index 5be08f02a76b..8c743a405df6 100644 --- a/fs/nfs_common/grace.c +++ b/fs/nfs_common/grace.c | |||
@@ -118,6 +118,7 @@ static struct pernet_operations grace_net_ops = { | |||
118 | .exit = grace_exit_net, | 118 | .exit = grace_exit_net, |
119 | .id = &grace_net_id, | 119 | .id = &grace_net_id, |
120 | .size = sizeof(struct list_head), | 120 | .size = sizeof(struct list_head), |
121 | .async = true, | ||
121 | }; | 122 | }; |
122 | 123 | ||
123 | static int __init | 124 | static int __init |
diff --git a/net/8021q/vlan.c b/net/8021q/vlan.c index bad01b14a4ad..bd0ed39f65fb 100644 --- a/net/8021q/vlan.c +++ b/net/8021q/vlan.c | |||
@@ -729,6 +729,7 @@ static struct pernet_operations vlan_net_ops = { | |||
729 | .exit = vlan_exit_net, | 729 | .exit = vlan_exit_net, |
730 | .id = &vlan_net_id, | 730 | .id = &vlan_net_id, |
731 | .size = sizeof(struct vlan_net), | 731 | .size = sizeof(struct vlan_net), |
732 | .async = true, | ||
732 | }; | 733 | }; |
733 | 734 | ||
734 | static int __init vlan_proto_init(void) | 735 | static int __init vlan_proto_init(void) |
diff --git a/net/bridge/br.c b/net/bridge/br.c index 6bf06e756df2..7770481a6506 100644 --- a/net/bridge/br.c +++ b/net/bridge/br.c | |||
@@ -188,6 +188,7 @@ static void __net_exit br_net_exit(struct net *net) | |||
188 | 188 | ||
189 | static struct pernet_operations br_net_ops = { | 189 | static struct pernet_operations br_net_ops = { |
190 | .exit = br_net_exit, | 190 | .exit = br_net_exit, |
191 | .async = true, | ||
191 | }; | 192 | }; |
192 | 193 | ||
193 | static const struct stp_proto br_stp_proto = { | 194 | static const struct stp_proto br_stp_proto = { |
diff --git a/net/bridge/br_netfilter_hooks.c b/net/bridge/br_netfilter_hooks.c index 27f1d4f2114a..484f54150525 100644 --- a/net/bridge/br_netfilter_hooks.c +++ b/net/bridge/br_netfilter_hooks.c | |||
@@ -967,6 +967,7 @@ static struct pernet_operations brnf_net_ops __read_mostly = { | |||
967 | .exit = brnf_exit_net, | 967 | .exit = brnf_exit_net, |
968 | .id = &brnf_net_id, | 968 | .id = &brnf_net_id, |
969 | .size = sizeof(struct brnf_net), | 969 | .size = sizeof(struct brnf_net), |
970 | .async = true, | ||
970 | }; | 971 | }; |
971 | 972 | ||
972 | static struct notifier_block brnf_notifier __read_mostly = { | 973 | static struct notifier_block brnf_notifier __read_mostly = { |
diff --git a/net/can/bcm.c b/net/can/bcm.c index ac5e5e34fee3..26730d39e048 100644 --- a/net/can/bcm.c +++ b/net/can/bcm.c | |||
@@ -1717,6 +1717,7 @@ static void canbcm_pernet_exit(struct net *net) | |||
1717 | static struct pernet_operations canbcm_pernet_ops __read_mostly = { | 1717 | static struct pernet_operations canbcm_pernet_ops __read_mostly = { |
1718 | .init = canbcm_pernet_init, | 1718 | .init = canbcm_pernet_init, |
1719 | .exit = canbcm_pernet_exit, | 1719 | .exit = canbcm_pernet_exit, |
1720 | .async = true, | ||
1720 | }; | 1721 | }; |
1721 | 1722 | ||
1722 | static int __init bcm_module_init(void) | 1723 | static int __init bcm_module_init(void) |
diff --git a/net/ieee802154/core.c b/net/ieee802154/core.c index cb7176cd4cd6..9104943c15ba 100644 --- a/net/ieee802154/core.c +++ b/net/ieee802154/core.c | |||
@@ -345,6 +345,7 @@ static void __net_exit cfg802154_pernet_exit(struct net *net) | |||
345 | 345 | ||
346 | static struct pernet_operations cfg802154_pernet_ops = { | 346 | static struct pernet_operations cfg802154_pernet_ops = { |
347 | .exit = cfg802154_pernet_exit, | 347 | .exit = cfg802154_pernet_exit, |
348 | .async = true, | ||
348 | }; | 349 | }; |
349 | 350 | ||
350 | static int __init wpan_phy_class_init(void) | 351 | static int __init wpan_phy_class_init(void) |
diff --git a/net/ipv4/ip_gre.c b/net/ipv4/ip_gre.c index 45d97e9b2759..e496afa47709 100644 --- a/net/ipv4/ip_gre.c +++ b/net/ipv4/ip_gre.c | |||
@@ -1044,6 +1044,7 @@ static struct pernet_operations ipgre_net_ops = { | |||
1044 | .exit_batch = ipgre_exit_batch_net, | 1044 | .exit_batch = ipgre_exit_batch_net, |
1045 | .id = &ipgre_net_id, | 1045 | .id = &ipgre_net_id, |
1046 | .size = sizeof(struct ip_tunnel_net), | 1046 | .size = sizeof(struct ip_tunnel_net), |
1047 | .async = true, | ||
1047 | }; | 1048 | }; |
1048 | 1049 | ||
1049 | static int ipgre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[], | 1050 | static int ipgre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[], |
@@ -1623,6 +1624,7 @@ static struct pernet_operations ipgre_tap_net_ops = { | |||
1623 | .exit_batch = ipgre_tap_exit_batch_net, | 1624 | .exit_batch = ipgre_tap_exit_batch_net, |
1624 | .id = &gre_tap_net_id, | 1625 | .id = &gre_tap_net_id, |
1625 | .size = sizeof(struct ip_tunnel_net), | 1626 | .size = sizeof(struct ip_tunnel_net), |
1627 | .async = true, | ||
1626 | }; | 1628 | }; |
1627 | 1629 | ||
1628 | static int __net_init erspan_init_net(struct net *net) | 1630 | static int __net_init erspan_init_net(struct net *net) |
@@ -1641,6 +1643,7 @@ static struct pernet_operations erspan_net_ops = { | |||
1641 | .exit_batch = erspan_exit_batch_net, | 1643 | .exit_batch = erspan_exit_batch_net, |
1642 | .id = &erspan_net_id, | 1644 | .id = &erspan_net_id, |
1643 | .size = sizeof(struct ip_tunnel_net), | 1645 | .size = sizeof(struct ip_tunnel_net), |
1646 | .async = true, | ||
1644 | }; | 1647 | }; |
1645 | 1648 | ||
1646 | static int __init ipgre_init(void) | 1649 | static int __init ipgre_init(void) |
diff --git a/net/ipv4/ip_vti.c b/net/ipv4/ip_vti.c index 51b1669334fe..b10bf563afd9 100644 --- a/net/ipv4/ip_vti.c +++ b/net/ipv4/ip_vti.c | |||
@@ -454,6 +454,7 @@ static struct pernet_operations vti_net_ops = { | |||
454 | .exit_batch = vti_exit_batch_net, | 454 | .exit_batch = vti_exit_batch_net, |
455 | .id = &vti_net_id, | 455 | .id = &vti_net_id, |
456 | .size = sizeof(struct ip_tunnel_net), | 456 | .size = sizeof(struct ip_tunnel_net), |
457 | .async = true, | ||
457 | }; | 458 | }; |
458 | 459 | ||
459 | static int vti_tunnel_validate(struct nlattr *tb[], struct nlattr *data[], | 460 | static int vti_tunnel_validate(struct nlattr *tb[], struct nlattr *data[], |
diff --git a/net/ipv4/ipip.c b/net/ipv4/ipip.c index c891235b4966..9c5a4d164f09 100644 --- a/net/ipv4/ipip.c +++ b/net/ipv4/ipip.c | |||
@@ -669,6 +669,7 @@ static struct pernet_operations ipip_net_ops = { | |||
669 | .exit_batch = ipip_exit_batch_net, | 669 | .exit_batch = ipip_exit_batch_net, |
670 | .id = &ipip_net_id, | 670 | .id = &ipip_net_id, |
671 | .size = sizeof(struct ip_tunnel_net), | 671 | .size = sizeof(struct ip_tunnel_net), |
672 | .async = true, | ||
672 | }; | 673 | }; |
673 | 674 | ||
674 | static int __init ipip_init(void) | 675 | static int __init ipip_init(void) |
diff --git a/net/ipv4/netfilter/ipt_CLUSTERIP.c b/net/ipv4/netfilter/ipt_CLUSTERIP.c index 4b02ab39ebc5..08b3e48f44fc 100644 --- a/net/ipv4/netfilter/ipt_CLUSTERIP.c +++ b/net/ipv4/netfilter/ipt_CLUSTERIP.c | |||
@@ -840,6 +840,7 @@ static struct pernet_operations clusterip_net_ops = { | |||
840 | .exit = clusterip_net_exit, | 840 | .exit = clusterip_net_exit, |
841 | .id = &clusterip_net_id, | 841 | .id = &clusterip_net_id, |
842 | .size = sizeof(struct clusterip_net), | 842 | .size = sizeof(struct clusterip_net), |
843 | .async = true, | ||
843 | }; | 844 | }; |
844 | 845 | ||
845 | static int __init clusterip_tg_init(void) | 846 | static int __init clusterip_tg_init(void) |
diff --git a/net/ipv4/netfilter/nf_defrag_ipv4.c b/net/ipv4/netfilter/nf_defrag_ipv4.c index a0d3ad60a411..57244b62a4fc 100644 --- a/net/ipv4/netfilter/nf_defrag_ipv4.c +++ b/net/ipv4/netfilter/nf_defrag_ipv4.c | |||
@@ -118,6 +118,7 @@ static void __net_exit defrag4_net_exit(struct net *net) | |||
118 | 118 | ||
119 | static struct pernet_operations defrag4_net_ops = { | 119 | static struct pernet_operations defrag4_net_ops = { |
120 | .exit = defrag4_net_exit, | 120 | .exit = defrag4_net_exit, |
121 | .async = true, | ||
121 | }; | 122 | }; |
122 | 123 | ||
123 | static int __init nf_defrag_init(void) | 124 | static int __init nf_defrag_init(void) |
diff --git a/net/ipv6/ila/ila_xlat.c b/net/ipv6/ila/ila_xlat.c index 44c39c5f0638..e438699f000f 100644 --- a/net/ipv6/ila/ila_xlat.c +++ b/net/ipv6/ila/ila_xlat.c | |||
@@ -613,6 +613,7 @@ static struct pernet_operations ila_net_ops = { | |||
613 | .exit = ila_exit_net, | 613 | .exit = ila_exit_net, |
614 | .id = &ila_net_id, | 614 | .id = &ila_net_id, |
615 | .size = sizeof(struct ila_net), | 615 | .size = sizeof(struct ila_net), |
616 | .async = true, | ||
616 | }; | 617 | }; |
617 | 618 | ||
618 | static int ila_xlat_addr(struct sk_buff *skb, bool sir2ila) | 619 | static int ila_xlat_addr(struct sk_buff *skb, bool sir2ila) |
diff --git a/net/ipv6/ip6_gre.c b/net/ipv6/ip6_gre.c index 3c353125546d..3026662a6413 100644 --- a/net/ipv6/ip6_gre.c +++ b/net/ipv6/ip6_gre.c | |||
@@ -1517,6 +1517,7 @@ static struct pernet_operations ip6gre_net_ops = { | |||
1517 | .exit_batch = ip6gre_exit_batch_net, | 1517 | .exit_batch = ip6gre_exit_batch_net, |
1518 | .id = &ip6gre_net_id, | 1518 | .id = &ip6gre_net_id, |
1519 | .size = sizeof(struct ip6gre_net), | 1519 | .size = sizeof(struct ip6gre_net), |
1520 | .async = true, | ||
1520 | }; | 1521 | }; |
1521 | 1522 | ||
1522 | static int ip6gre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[], | 1523 | static int ip6gre_tunnel_validate(struct nlattr *tb[], struct nlattr *data[], |
diff --git a/net/ipv6/ip6_tunnel.c b/net/ipv6/ip6_tunnel.c index 4b15fe928278..869e2e6750f7 100644 --- a/net/ipv6/ip6_tunnel.c +++ b/net/ipv6/ip6_tunnel.c | |||
@@ -2250,6 +2250,7 @@ static struct pernet_operations ip6_tnl_net_ops = { | |||
2250 | .exit_batch = ip6_tnl_exit_batch_net, | 2250 | .exit_batch = ip6_tnl_exit_batch_net, |
2251 | .id = &ip6_tnl_net_id, | 2251 | .id = &ip6_tnl_net_id, |
2252 | .size = sizeof(struct ip6_tnl_net), | 2252 | .size = sizeof(struct ip6_tnl_net), |
2253 | .async = true, | ||
2253 | }; | 2254 | }; |
2254 | 2255 | ||
2255 | /** | 2256 | /** |
diff --git a/net/ipv6/ip6_vti.c b/net/ipv6/ip6_vti.c index fa3ae1cb50d3..c617ea17faa8 100644 --- a/net/ipv6/ip6_vti.c +++ b/net/ipv6/ip6_vti.c | |||
@@ -1148,6 +1148,7 @@ static struct pernet_operations vti6_net_ops = { | |||
1148 | .exit_batch = vti6_exit_batch_net, | 1148 | .exit_batch = vti6_exit_batch_net, |
1149 | .id = &vti6_net_id, | 1149 | .id = &vti6_net_id, |
1150 | .size = sizeof(struct vti6_net), | 1150 | .size = sizeof(struct vti6_net), |
1151 | .async = true, | ||
1151 | }; | 1152 | }; |
1152 | 1153 | ||
1153 | static struct xfrm6_protocol vti_esp6_protocol __read_mostly = { | 1154 | static struct xfrm6_protocol vti_esp6_protocol __read_mostly = { |
diff --git a/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c b/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c index c87b48359e8f..32f98bc06900 100644 --- a/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c +++ b/net/ipv6/netfilter/nf_defrag_ipv6_hooks.c | |||
@@ -103,6 +103,7 @@ static void __net_exit defrag6_net_exit(struct net *net) | |||
103 | 103 | ||
104 | static struct pernet_operations defrag6_net_ops = { | 104 | static struct pernet_operations defrag6_net_ops = { |
105 | .exit = defrag6_net_exit, | 105 | .exit = defrag6_net_exit, |
106 | .async = true, | ||
106 | }; | 107 | }; |
107 | 108 | ||
108 | static int __init nf_defrag_init(void) | 109 | static int __init nf_defrag_init(void) |
diff --git a/net/ipv6/sit.c b/net/ipv6/sit.c index 3a1775a62973..182db078f01e 100644 --- a/net/ipv6/sit.c +++ b/net/ipv6/sit.c | |||
@@ -1878,6 +1878,7 @@ static struct pernet_operations sit_net_ops = { | |||
1878 | .exit_batch = sit_exit_batch_net, | 1878 | .exit_batch = sit_exit_batch_net, |
1879 | .id = &sit_net_id, | 1879 | .id = &sit_net_id, |
1880 | .size = sizeof(struct sit_net), | 1880 | .size = sizeof(struct sit_net), |
1881 | .async = true, | ||
1881 | }; | 1882 | }; |
1882 | 1883 | ||
1883 | static void __exit sit_cleanup(void) | 1884 | static void __exit sit_cleanup(void) |
diff --git a/net/ipv6/xfrm6_tunnel.c b/net/ipv6/xfrm6_tunnel.c index f85f0d7480ac..a9673619e0e9 100644 --- a/net/ipv6/xfrm6_tunnel.c +++ b/net/ipv6/xfrm6_tunnel.c | |||
@@ -353,6 +353,7 @@ static struct pernet_operations xfrm6_tunnel_net_ops = { | |||
353 | .exit = xfrm6_tunnel_net_exit, | 353 | .exit = xfrm6_tunnel_net_exit, |
354 | .id = &xfrm6_tunnel_net_id, | 354 | .id = &xfrm6_tunnel_net_id, |
355 | .size = sizeof(struct xfrm6_tunnel_net), | 355 | .size = sizeof(struct xfrm6_tunnel_net), |
356 | .async = true, | ||
356 | }; | 357 | }; |
357 | 358 | ||
358 | static int __init xfrm6_tunnel_init(void) | 359 | static int __init xfrm6_tunnel_init(void) |
diff --git a/net/kcm/kcmproc.c b/net/kcm/kcmproc.c index 9d5649e4e8b7..2c1c8b3e4452 100644 --- a/net/kcm/kcmproc.c +++ b/net/kcm/kcmproc.c | |||
@@ -433,6 +433,7 @@ static void kcm_proc_exit_net(struct net *net) | |||
433 | static struct pernet_operations kcm_net_ops = { | 433 | static struct pernet_operations kcm_net_ops = { |
434 | .init = kcm_proc_init_net, | 434 | .init = kcm_proc_init_net, |
435 | .exit = kcm_proc_exit_net, | 435 | .exit = kcm_proc_exit_net, |
436 | .async = true, | ||
436 | }; | 437 | }; |
437 | 438 | ||
438 | int __init kcm_proc_init(void) | 439 | int __init kcm_proc_init(void) |
diff --git a/net/kcm/kcmsock.c b/net/kcm/kcmsock.c index 435594648dac..a6cd0712e063 100644 --- a/net/kcm/kcmsock.c +++ b/net/kcm/kcmsock.c | |||
@@ -2015,6 +2015,7 @@ static struct pernet_operations kcm_net_ops = { | |||
2015 | .exit = kcm_exit_net, | 2015 | .exit = kcm_exit_net, |
2016 | .id = &kcm_net_id, | 2016 | .id = &kcm_net_id, |
2017 | .size = sizeof(struct kcm_net), | 2017 | .size = sizeof(struct kcm_net), |
2018 | .async = true, | ||
2018 | }; | 2019 | }; |
2019 | 2020 | ||
2020 | static int __init kcm_init(void) | 2021 | static int __init kcm_init(void) |
diff --git a/net/key/af_key.c b/net/key/af_key.c index 7e2e7188e7f4..3ac08ab26207 100644 --- a/net/key/af_key.c +++ b/net/key/af_key.c | |||
@@ -3863,6 +3863,7 @@ static struct pernet_operations pfkey_net_ops = { | |||
3863 | .exit = pfkey_net_exit, | 3863 | .exit = pfkey_net_exit, |
3864 | .id = &pfkey_net_id, | 3864 | .id = &pfkey_net_id, |
3865 | .size = sizeof(struct netns_pfkey), | 3865 | .size = sizeof(struct netns_pfkey), |
3866 | .async = true, | ||
3866 | }; | 3867 | }; |
3867 | 3868 | ||
3868 | static void __exit ipsec_pfkey_exit(void) | 3869 | static void __exit ipsec_pfkey_exit(void) |
diff --git a/net/l2tp/l2tp_ppp.c b/net/l2tp/l2tp_ppp.c index 99a03c72db4f..0c4f49a6a0cb 100644 --- a/net/l2tp/l2tp_ppp.c +++ b/net/l2tp/l2tp_ppp.c | |||
@@ -1770,6 +1770,7 @@ static struct pernet_operations pppol2tp_net_ops = { | |||
1770 | .init = pppol2tp_init_net, | 1770 | .init = pppol2tp_init_net, |
1771 | .exit = pppol2tp_exit_net, | 1771 | .exit = pppol2tp_exit_net, |
1772 | .id = &pppol2tp_net_id, | 1772 | .id = &pppol2tp_net_id, |
1773 | .async = true, | ||
1773 | }; | 1774 | }; |
1774 | 1775 | ||
1775 | /***************************************************************************** | 1776 | /***************************************************************************** |
diff --git a/net/netfilter/ipvs/ip_vs_lblc.c b/net/netfilter/ipvs/ip_vs_lblc.c index d625179de485..6a340c94c4b8 100644 --- a/net/netfilter/ipvs/ip_vs_lblc.c +++ b/net/netfilter/ipvs/ip_vs_lblc.c | |||
@@ -604,6 +604,7 @@ static void __net_exit __ip_vs_lblc_exit(struct net *net) { } | |||
604 | static struct pernet_operations ip_vs_lblc_ops = { | 604 | static struct pernet_operations ip_vs_lblc_ops = { |
605 | .init = __ip_vs_lblc_init, | 605 | .init = __ip_vs_lblc_init, |
606 | .exit = __ip_vs_lblc_exit, | 606 | .exit = __ip_vs_lblc_exit, |
607 | .async = true, | ||
607 | }; | 608 | }; |
608 | 609 | ||
609 | static int __init ip_vs_lblc_init(void) | 610 | static int __init ip_vs_lblc_init(void) |
diff --git a/net/netfilter/ipvs/ip_vs_lblcr.c b/net/netfilter/ipvs/ip_vs_lblcr.c index 84c57b62a588..0627881128da 100644 --- a/net/netfilter/ipvs/ip_vs_lblcr.c +++ b/net/netfilter/ipvs/ip_vs_lblcr.c | |||
@@ -789,6 +789,7 @@ static void __net_exit __ip_vs_lblcr_exit(struct net *net) { } | |||
789 | static struct pernet_operations ip_vs_lblcr_ops = { | 789 | static struct pernet_operations ip_vs_lblcr_ops = { |
790 | .init = __ip_vs_lblcr_init, | 790 | .init = __ip_vs_lblcr_init, |
791 | .exit = __ip_vs_lblcr_exit, | 791 | .exit = __ip_vs_lblcr_exit, |
792 | .async = true, | ||
792 | }; | 793 | }; |
793 | 794 | ||
794 | static int __init ip_vs_lblcr_init(void) | 795 | static int __init ip_vs_lblcr_init(void) |
diff --git a/net/netfilter/nf_synproxy_core.c b/net/netfilter/nf_synproxy_core.c index 92139a087260..64b875e452ca 100644 --- a/net/netfilter/nf_synproxy_core.c +++ b/net/netfilter/nf_synproxy_core.c | |||
@@ -398,6 +398,7 @@ static struct pernet_operations synproxy_net_ops = { | |||
398 | .exit = synproxy_net_exit, | 398 | .exit = synproxy_net_exit, |
399 | .id = &synproxy_net_id, | 399 | .id = &synproxy_net_id, |
400 | .size = sizeof(struct synproxy_net), | 400 | .size = sizeof(struct synproxy_net), |
401 | .async = true, | ||
401 | }; | 402 | }; |
402 | 403 | ||
403 | static int __init synproxy_core_init(void) | 404 | static int __init synproxy_core_init(void) |
diff --git a/net/netfilter/xt_hashlimit.c b/net/netfilter/xt_hashlimit.c index 66f5aca62a08..db2fe0911740 100644 --- a/net/netfilter/xt_hashlimit.c +++ b/net/netfilter/xt_hashlimit.c | |||
@@ -1345,6 +1345,7 @@ static struct pernet_operations hashlimit_net_ops = { | |||
1345 | .exit = hashlimit_net_exit, | 1345 | .exit = hashlimit_net_exit, |
1346 | .id = &hashlimit_net_id, | 1346 | .id = &hashlimit_net_id, |
1347 | .size = sizeof(struct hashlimit_net), | 1347 | .size = sizeof(struct hashlimit_net), |
1348 | .async = true, | ||
1348 | }; | 1349 | }; |
1349 | 1350 | ||
1350 | static int __init hashlimit_mt_init(void) | 1351 | static int __init hashlimit_mt_init(void) |
diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c index 6d232d18faff..19efdb757944 100644 --- a/net/netfilter/xt_recent.c +++ b/net/netfilter/xt_recent.c | |||
@@ -687,6 +687,7 @@ static struct pernet_operations recent_net_ops = { | |||
687 | .exit = recent_net_exit, | 687 | .exit = recent_net_exit, |
688 | .id = &recent_net_id, | 688 | .id = &recent_net_id, |
689 | .size = sizeof(struct recent_net), | 689 | .size = sizeof(struct recent_net), |
690 | .async = true, | ||
690 | }; | 691 | }; |
691 | 692 | ||
692 | static struct xt_match recent_mt_reg[] __read_mostly = { | 693 | static struct xt_match recent_mt_reg[] __read_mostly = { |
diff --git a/net/phonet/pn_dev.c b/net/phonet/pn_dev.c index 77787512fc32..9454e8393793 100644 --- a/net/phonet/pn_dev.c +++ b/net/phonet/pn_dev.c | |||
@@ -342,6 +342,7 @@ static struct pernet_operations phonet_net_ops = { | |||
342 | .exit = phonet_exit_net, | 342 | .exit = phonet_exit_net, |
343 | .id = &phonet_net_id, | 343 | .id = &phonet_net_id, |
344 | .size = sizeof(struct phonet_net), | 344 | .size = sizeof(struct phonet_net), |
345 | .async = true, | ||
345 | }; | 346 | }; |
346 | 347 | ||
347 | /* Initialize Phonet devices list */ | 348 | /* Initialize Phonet devices list */ |
diff --git a/net/sched/act_bpf.c b/net/sched/act_bpf.c index cb3c5d403c88..da72e0cf2b1f 100644 --- a/net/sched/act_bpf.c +++ b/net/sched/act_bpf.c | |||
@@ -413,6 +413,7 @@ static struct pernet_operations bpf_net_ops = { | |||
413 | .exit_batch = bpf_exit_net, | 413 | .exit_batch = bpf_exit_net, |
414 | .id = &bpf_net_id, | 414 | .id = &bpf_net_id, |
415 | .size = sizeof(struct tc_action_net), | 415 | .size = sizeof(struct tc_action_net), |
416 | .async = true, | ||
416 | }; | 417 | }; |
417 | 418 | ||
418 | static int __init bpf_init_module(void) | 419 | static int __init bpf_init_module(void) |
diff --git a/net/sched/act_connmark.c b/net/sched/act_connmark.c index e4b880fa51fe..371e5e4ab3e2 100644 --- a/net/sched/act_connmark.c +++ b/net/sched/act_connmark.c | |||
@@ -222,6 +222,7 @@ static struct pernet_operations connmark_net_ops = { | |||
222 | .exit_batch = connmark_exit_net, | 222 | .exit_batch = connmark_exit_net, |
223 | .id = &connmark_net_id, | 223 | .id = &connmark_net_id, |
224 | .size = sizeof(struct tc_action_net), | 224 | .size = sizeof(struct tc_action_net), |
225 | .async = true, | ||
225 | }; | 226 | }; |
226 | 227 | ||
227 | static int __init connmark_init_module(void) | 228 | static int __init connmark_init_module(void) |
diff --git a/net/sched/act_csum.c b/net/sched/act_csum.c index d5c2e528d150..1fb1f1f6a555 100644 --- a/net/sched/act_csum.c +++ b/net/sched/act_csum.c | |||
@@ -677,6 +677,7 @@ static struct pernet_operations csum_net_ops = { | |||
677 | .exit_batch = csum_exit_net, | 677 | .exit_batch = csum_exit_net, |
678 | .id = &csum_net_id, | 678 | .id = &csum_net_id, |
679 | .size = sizeof(struct tc_action_net), | 679 | .size = sizeof(struct tc_action_net), |
680 | .async = true, | ||
680 | }; | 681 | }; |
681 | 682 | ||
682 | MODULE_DESCRIPTION("Checksum updating actions"); | 683 | MODULE_DESCRIPTION("Checksum updating actions"); |
diff --git a/net/sched/act_gact.c b/net/sched/act_gact.c index f072bcf33760..74563254e676 100644 --- a/net/sched/act_gact.c +++ b/net/sched/act_gact.c | |||
@@ -247,6 +247,7 @@ static struct pernet_operations gact_net_ops = { | |||
247 | .exit_batch = gact_exit_net, | 247 | .exit_batch = gact_exit_net, |
248 | .id = &gact_net_id, | 248 | .id = &gact_net_id, |
249 | .size = sizeof(struct tc_action_net), | 249 | .size = sizeof(struct tc_action_net), |
250 | .async = true, | ||
250 | }; | 251 | }; |
251 | 252 | ||
252 | MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); | 253 | MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); |
diff --git a/net/sched/act_ife.c b/net/sched/act_ife.c index a5994cf0512b..555b1caeff72 100644 --- a/net/sched/act_ife.c +++ b/net/sched/act_ife.c | |||
@@ -870,6 +870,7 @@ static struct pernet_operations ife_net_ops = { | |||
870 | .exit_batch = ife_exit_net, | 870 | .exit_batch = ife_exit_net, |
871 | .id = &ife_net_id, | 871 | .id = &ife_net_id, |
872 | .size = sizeof(struct tc_action_net), | 872 | .size = sizeof(struct tc_action_net), |
873 | .async = true, | ||
873 | }; | 874 | }; |
874 | 875 | ||
875 | static int __init ife_init_module(void) | 876 | static int __init ife_init_module(void) |
diff --git a/net/sched/act_ipt.c b/net/sched/act_ipt.c index 9784629090ad..10866717f88e 100644 --- a/net/sched/act_ipt.c +++ b/net/sched/act_ipt.c | |||
@@ -349,6 +349,7 @@ static struct pernet_operations ipt_net_ops = { | |||
349 | .exit_batch = ipt_exit_net, | 349 | .exit_batch = ipt_exit_net, |
350 | .id = &ipt_net_id, | 350 | .id = &ipt_net_id, |
351 | .size = sizeof(struct tc_action_net), | 351 | .size = sizeof(struct tc_action_net), |
352 | .async = true, | ||
352 | }; | 353 | }; |
353 | 354 | ||
354 | static int tcf_xt_walker(struct net *net, struct sk_buff *skb, | 355 | static int tcf_xt_walker(struct net *net, struct sk_buff *skb, |
@@ -399,6 +400,7 @@ static struct pernet_operations xt_net_ops = { | |||
399 | .exit_batch = xt_exit_net, | 400 | .exit_batch = xt_exit_net, |
400 | .id = &xt_net_id, | 401 | .id = &xt_net_id, |
401 | .size = sizeof(struct tc_action_net), | 402 | .size = sizeof(struct tc_action_net), |
403 | .async = true, | ||
402 | }; | 404 | }; |
403 | 405 | ||
404 | MODULE_AUTHOR("Jamal Hadi Salim(2002-13)"); | 406 | MODULE_AUTHOR("Jamal Hadi Salim(2002-13)"); |
diff --git a/net/sched/act_mirred.c b/net/sched/act_mirred.c index fd34015331ab..64c86579c3d9 100644 --- a/net/sched/act_mirred.c +++ b/net/sched/act_mirred.c | |||
@@ -353,6 +353,7 @@ static struct pernet_operations mirred_net_ops = { | |||
353 | .exit_batch = mirred_exit_net, | 353 | .exit_batch = mirred_exit_net, |
354 | .id = &mirred_net_id, | 354 | .id = &mirred_net_id, |
355 | .size = sizeof(struct tc_action_net), | 355 | .size = sizeof(struct tc_action_net), |
356 | .async = true, | ||
356 | }; | 357 | }; |
357 | 358 | ||
358 | MODULE_AUTHOR("Jamal Hadi Salim(2002)"); | 359 | MODULE_AUTHOR("Jamal Hadi Salim(2002)"); |
diff --git a/net/sched/act_nat.c b/net/sched/act_nat.c index 4b5848b6c252..b1bc757f6491 100644 --- a/net/sched/act_nat.c +++ b/net/sched/act_nat.c | |||
@@ -323,6 +323,7 @@ static struct pernet_operations nat_net_ops = { | |||
323 | .exit_batch = nat_exit_net, | 323 | .exit_batch = nat_exit_net, |
324 | .id = &nat_net_id, | 324 | .id = &nat_net_id, |
325 | .size = sizeof(struct tc_action_net), | 325 | .size = sizeof(struct tc_action_net), |
326 | .async = true, | ||
326 | }; | 327 | }; |
327 | 328 | ||
328 | MODULE_DESCRIPTION("Stateless NAT actions"); | 329 | MODULE_DESCRIPTION("Stateless NAT actions"); |
diff --git a/net/sched/act_pedit.c b/net/sched/act_pedit.c index 094303c27c5e..5e8cc8f63acd 100644 --- a/net/sched/act_pedit.c +++ b/net/sched/act_pedit.c | |||
@@ -465,6 +465,7 @@ static struct pernet_operations pedit_net_ops = { | |||
465 | .exit_batch = pedit_exit_net, | 465 | .exit_batch = pedit_exit_net, |
466 | .id = &pedit_net_id, | 466 | .id = &pedit_net_id, |
467 | .size = sizeof(struct tc_action_net), | 467 | .size = sizeof(struct tc_action_net), |
468 | .async = true, | ||
468 | }; | 469 | }; |
469 | 470 | ||
470 | MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); | 471 | MODULE_AUTHOR("Jamal Hadi Salim(2002-4)"); |
diff --git a/net/sched/act_police.c b/net/sched/act_police.c index ff55bd6c7db0..51fe4fe343f7 100644 --- a/net/sched/act_police.c +++ b/net/sched/act_police.c | |||
@@ -347,6 +347,7 @@ static struct pernet_operations police_net_ops = { | |||
347 | .exit_batch = police_exit_net, | 347 | .exit_batch = police_exit_net, |
348 | .id = &police_net_id, | 348 | .id = &police_net_id, |
349 | .size = sizeof(struct tc_action_net), | 349 | .size = sizeof(struct tc_action_net), |
350 | .async = true, | ||
350 | }; | 351 | }; |
351 | 352 | ||
352 | static int __init police_init_module(void) | 353 | static int __init police_init_module(void) |
diff --git a/net/sched/act_sample.c b/net/sched/act_sample.c index 9765145aaf40..238dfd27e995 100644 --- a/net/sched/act_sample.c +++ b/net/sched/act_sample.c | |||
@@ -248,6 +248,7 @@ static struct pernet_operations sample_net_ops = { | |||
248 | .exit_batch = sample_exit_net, | 248 | .exit_batch = sample_exit_net, |
249 | .id = &sample_net_id, | 249 | .id = &sample_net_id, |
250 | .size = sizeof(struct tc_action_net), | 250 | .size = sizeof(struct tc_action_net), |
251 | .async = true, | ||
251 | }; | 252 | }; |
252 | 253 | ||
253 | static int __init sample_init_module(void) | 254 | static int __init sample_init_module(void) |
diff --git a/net/sched/act_simple.c b/net/sched/act_simple.c index 8244e221fe4f..91816d73f3f3 100644 --- a/net/sched/act_simple.c +++ b/net/sched/act_simple.c | |||
@@ -216,6 +216,7 @@ static struct pernet_operations simp_net_ops = { | |||
216 | .exit_batch = simp_exit_net, | 216 | .exit_batch = simp_exit_net, |
217 | .id = &simp_net_id, | 217 | .id = &simp_net_id, |
218 | .size = sizeof(struct tc_action_net), | 218 | .size = sizeof(struct tc_action_net), |
219 | .async = true, | ||
219 | }; | 220 | }; |
220 | 221 | ||
221 | MODULE_AUTHOR("Jamal Hadi Salim(2005)"); | 222 | MODULE_AUTHOR("Jamal Hadi Salim(2005)"); |
diff --git a/net/sched/act_skbedit.c b/net/sched/act_skbedit.c index ddf69fc01bdf..7971510fe61b 100644 --- a/net/sched/act_skbedit.c +++ b/net/sched/act_skbedit.c | |||
@@ -253,6 +253,7 @@ static struct pernet_operations skbedit_net_ops = { | |||
253 | .exit_batch = skbedit_exit_net, | 253 | .exit_batch = skbedit_exit_net, |
254 | .id = &skbedit_net_id, | 254 | .id = &skbedit_net_id, |
255 | .size = sizeof(struct tc_action_net), | 255 | .size = sizeof(struct tc_action_net), |
256 | .async = true, | ||
256 | }; | 257 | }; |
257 | 258 | ||
258 | MODULE_AUTHOR("Alexander Duyck, <alexander.h.duyck@intel.com>"); | 259 | MODULE_AUTHOR("Alexander Duyck, <alexander.h.duyck@intel.com>"); |
diff --git a/net/sched/act_skbmod.c b/net/sched/act_skbmod.c index a406f191cb84..febec75f4f7a 100644 --- a/net/sched/act_skbmod.c +++ b/net/sched/act_skbmod.c | |||
@@ -278,6 +278,7 @@ static struct pernet_operations skbmod_net_ops = { | |||
278 | .exit_batch = skbmod_exit_net, | 278 | .exit_batch = skbmod_exit_net, |
279 | .id = &skbmod_net_id, | 279 | .id = &skbmod_net_id, |
280 | .size = sizeof(struct tc_action_net), | 280 | .size = sizeof(struct tc_action_net), |
281 | .async = true, | ||
281 | }; | 282 | }; |
282 | 283 | ||
283 | MODULE_AUTHOR("Jamal Hadi Salim, <jhs@mojatatu.com>"); | 284 | MODULE_AUTHOR("Jamal Hadi Salim, <jhs@mojatatu.com>"); |
diff --git a/net/sched/act_tunnel_key.c b/net/sched/act_tunnel_key.c index 41ff9d0e5c62..9169b7e78ada 100644 --- a/net/sched/act_tunnel_key.c +++ b/net/sched/act_tunnel_key.c | |||
@@ -337,6 +337,7 @@ static struct pernet_operations tunnel_key_net_ops = { | |||
337 | .exit_batch = tunnel_key_exit_net, | 337 | .exit_batch = tunnel_key_exit_net, |
338 | .id = &tunnel_key_net_id, | 338 | .id = &tunnel_key_net_id, |
339 | .size = sizeof(struct tc_action_net), | 339 | .size = sizeof(struct tc_action_net), |
340 | .async = true, | ||
340 | }; | 341 | }; |
341 | 342 | ||
342 | static int __init tunnel_key_init_module(void) | 343 | static int __init tunnel_key_init_module(void) |
diff --git a/net/sched/act_vlan.c b/net/sched/act_vlan.c index 71411a255f04..c2ee7fd51cc9 100644 --- a/net/sched/act_vlan.c +++ b/net/sched/act_vlan.c | |||
@@ -313,6 +313,7 @@ static struct pernet_operations vlan_net_ops = { | |||
313 | .exit_batch = vlan_exit_net, | 313 | .exit_batch = vlan_exit_net, |
314 | .id = &vlan_net_id, | 314 | .id = &vlan_net_id, |
315 | .size = sizeof(struct tc_action_net), | 315 | .size = sizeof(struct tc_action_net), |
316 | .async = true, | ||
316 | }; | 317 | }; |
317 | 318 | ||
318 | static int __init vlan_init_module(void) | 319 | static int __init vlan_init_module(void) |
diff --git a/net/sched/cls_api.c b/net/sched/cls_api.c index 9d1a8bbf8152..19f9f421d5b7 100644 --- a/net/sched/cls_api.c +++ b/net/sched/cls_api.c | |||
@@ -1618,6 +1618,7 @@ static struct pernet_operations tcf_net_ops = { | |||
1618 | .exit = tcf_net_exit, | 1618 | .exit = tcf_net_exit, |
1619 | .id = &tcf_net_id, | 1619 | .id = &tcf_net_id, |
1620 | .size = sizeof(struct tcf_net), | 1620 | .size = sizeof(struct tcf_net), |
1621 | .async = true, | ||
1621 | }; | 1622 | }; |
1622 | 1623 | ||
1623 | static int __init tc_filter_init(void) | 1624 | static int __init tc_filter_init(void) |
diff --git a/security/selinux/hooks.c b/security/selinux/hooks.c index 8644d864e3c1..b4d7b6242a40 100644 --- a/security/selinux/hooks.c +++ b/security/selinux/hooks.c | |||
@@ -6743,6 +6743,7 @@ static void __net_exit selinux_nf_unregister(struct net *net) | |||
6743 | static struct pernet_operations selinux_net_ops = { | 6743 | static struct pernet_operations selinux_net_ops = { |
6744 | .init = selinux_nf_register, | 6744 | .init = selinux_nf_register, |
6745 | .exit = selinux_nf_unregister, | 6745 | .exit = selinux_nf_unregister, |
6746 | .async = true, | ||
6746 | }; | 6747 | }; |
6747 | 6748 | ||
6748 | static int __init selinux_nf_ip_init(void) | 6749 | static int __init selinux_nf_ip_init(void) |
diff --git a/security/smack/smack_netfilter.c b/security/smack/smack_netfilter.c index e36d17835d4f..3f29c03162ca 100644 --- a/security/smack/smack_netfilter.c +++ b/security/smack/smack_netfilter.c | |||
@@ -89,6 +89,7 @@ static void __net_exit smack_nf_unregister(struct net *net) | |||
89 | static struct pernet_operations smack_net_ops = { | 89 | static struct pernet_operations smack_net_ops = { |
90 | .init = smack_nf_register, | 90 | .init = smack_nf_register, |
91 | .exit = smack_nf_unregister, | 91 | .exit = smack_nf_unregister, |
92 | .async = true, | ||
92 | }; | 93 | }; |
93 | 94 | ||
94 | static int __init smack_nf_ip_init(void) | 95 | static int __init smack_nf_ip_init(void) |