diff options
author | Jesper Dangaard Brouer <brouer@redhat.com> | 2017-09-01 05:26:13 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2017-09-03 14:01:05 -0400 |
commit | 5a63643e583b6a9789d7a225ae076fb4e603991c (patch) | |
tree | df2e5f6fbb0792262701818650a9d6f35f6b5151 | |
parent | fb452a1aa3fd4034d7999e309c5466ff2d7005aa (diff) |
Revert "net: fix percpu memory leaks"
This reverts commit 1d6119baf0610f813eb9d9580eb4fd16de5b4ceb.
After reverting commit 6d7b857d541e ("net: use lib/percpu_counter API
for fragmentation mem accounting") then here is no need for this
fix-up patch. As percpu_counter is no longer used, it cannot
memory leak it any-longer.
Fixes: 6d7b857d541e ("net: use lib/percpu_counter API for fragmentation mem accounting")
Fixes: 1d6119baf061 ("net: fix percpu memory leaks")
Signed-off-by: Jesper Dangaard Brouer <brouer@redhat.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r-- | include/net/inet_frag.h | 7 | ||||
-rw-r--r-- | net/ieee802154/6lowpan/reassembly.c | 11 | ||||
-rw-r--r-- | net/ipv4/ip_fragment.c | 12 | ||||
-rw-r--r-- | net/ipv6/netfilter/nf_conntrack_reasm.c | 12 | ||||
-rw-r--r-- | net/ipv6/reassembly.c | 12 |
5 files changed, 13 insertions, 41 deletions
diff --git a/include/net/inet_frag.h b/include/net/inet_frag.h index fa635aa6d0b9..fc59e0775e00 100644 --- a/include/net/inet_frag.h +++ b/include/net/inet_frag.h | |||
@@ -103,15 +103,10 @@ struct inet_frags { | |||
103 | int inet_frags_init(struct inet_frags *); | 103 | int inet_frags_init(struct inet_frags *); |
104 | void inet_frags_fini(struct inet_frags *); | 104 | void inet_frags_fini(struct inet_frags *); |
105 | 105 | ||
106 | static inline int inet_frags_init_net(struct netns_frags *nf) | 106 | static inline void inet_frags_init_net(struct netns_frags *nf) |
107 | { | 107 | { |
108 | atomic_set(&nf->mem, 0); | 108 | atomic_set(&nf->mem, 0); |
109 | return 0; | ||
110 | } | 109 | } |
111 | static inline void inet_frags_uninit_net(struct netns_frags *nf) | ||
112 | { | ||
113 | } | ||
114 | |||
115 | void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f); | 110 | void inet_frags_exit_net(struct netns_frags *nf, struct inet_frags *f); |
116 | 111 | ||
117 | void inet_frag_kill(struct inet_frag_queue *q, struct inet_frags *f); | 112 | void inet_frag_kill(struct inet_frag_queue *q, struct inet_frags *f); |
diff --git a/net/ieee802154/6lowpan/reassembly.c b/net/ieee802154/6lowpan/reassembly.c index 30d875dff6b5..f85b08baff16 100644 --- a/net/ieee802154/6lowpan/reassembly.c +++ b/net/ieee802154/6lowpan/reassembly.c | |||
@@ -580,19 +580,14 @@ static int __net_init lowpan_frags_init_net(struct net *net) | |||
580 | { | 580 | { |
581 | struct netns_ieee802154_lowpan *ieee802154_lowpan = | 581 | struct netns_ieee802154_lowpan *ieee802154_lowpan = |
582 | net_ieee802154_lowpan(net); | 582 | net_ieee802154_lowpan(net); |
583 | int res; | ||
584 | 583 | ||
585 | ieee802154_lowpan->frags.high_thresh = IPV6_FRAG_HIGH_THRESH; | 584 | ieee802154_lowpan->frags.high_thresh = IPV6_FRAG_HIGH_THRESH; |
586 | ieee802154_lowpan->frags.low_thresh = IPV6_FRAG_LOW_THRESH; | 585 | ieee802154_lowpan->frags.low_thresh = IPV6_FRAG_LOW_THRESH; |
587 | ieee802154_lowpan->frags.timeout = IPV6_FRAG_TIMEOUT; | 586 | ieee802154_lowpan->frags.timeout = IPV6_FRAG_TIMEOUT; |
588 | 587 | ||
589 | res = inet_frags_init_net(&ieee802154_lowpan->frags); | 588 | inet_frags_init_net(&ieee802154_lowpan->frags); |
590 | if (res) | 589 | |
591 | return res; | 590 | return lowpan_frags_ns_sysctl_register(net); |
592 | res = lowpan_frags_ns_sysctl_register(net); | ||
593 | if (res) | ||
594 | inet_frags_uninit_net(&ieee802154_lowpan->frags); | ||
595 | return res; | ||
596 | } | 591 | } |
597 | 592 | ||
598 | static void __net_exit lowpan_frags_exit_net(struct net *net) | 593 | static void __net_exit lowpan_frags_exit_net(struct net *net) |
diff --git a/net/ipv4/ip_fragment.c b/net/ipv4/ip_fragment.c index 9a8cfac503dc..46408c220d9d 100644 --- a/net/ipv4/ip_fragment.c +++ b/net/ipv4/ip_fragment.c | |||
@@ -844,8 +844,6 @@ static void __init ip4_frags_ctl_register(void) | |||
844 | 844 | ||
845 | static int __net_init ipv4_frags_init_net(struct net *net) | 845 | static int __net_init ipv4_frags_init_net(struct net *net) |
846 | { | 846 | { |
847 | int res; | ||
848 | |||
849 | /* Fragment cache limits. | 847 | /* Fragment cache limits. |
850 | * | 848 | * |
851 | * The fragment memory accounting code, (tries to) account for | 849 | * The fragment memory accounting code, (tries to) account for |
@@ -871,13 +869,9 @@ static int __net_init ipv4_frags_init_net(struct net *net) | |||
871 | 869 | ||
872 | net->ipv4.frags.max_dist = 64; | 870 | net->ipv4.frags.max_dist = 64; |
873 | 871 | ||
874 | res = inet_frags_init_net(&net->ipv4.frags); | 872 | inet_frags_init_net(&net->ipv4.frags); |
875 | if (res) | 873 | |
876 | return res; | 874 | return ip4_frags_ns_ctl_register(net); |
877 | res = ip4_frags_ns_ctl_register(net); | ||
878 | if (res) | ||
879 | inet_frags_uninit_net(&net->ipv4.frags); | ||
880 | return res; | ||
881 | } | 875 | } |
882 | 876 | ||
883 | static void __net_exit ipv4_frags_exit_net(struct net *net) | 877 | static void __net_exit ipv4_frags_exit_net(struct net *net) |
diff --git a/net/ipv6/netfilter/nf_conntrack_reasm.c b/net/ipv6/netfilter/nf_conntrack_reasm.c index 986d4ca38832..b263bf3a19f7 100644 --- a/net/ipv6/netfilter/nf_conntrack_reasm.c +++ b/net/ipv6/netfilter/nf_conntrack_reasm.c | |||
@@ -622,18 +622,12 @@ EXPORT_SYMBOL_GPL(nf_ct_frag6_gather); | |||
622 | 622 | ||
623 | static int nf_ct_net_init(struct net *net) | 623 | static int nf_ct_net_init(struct net *net) |
624 | { | 624 | { |
625 | int res; | ||
626 | |||
627 | net->nf_frag.frags.high_thresh = IPV6_FRAG_HIGH_THRESH; | 625 | net->nf_frag.frags.high_thresh = IPV6_FRAG_HIGH_THRESH; |
628 | net->nf_frag.frags.low_thresh = IPV6_FRAG_LOW_THRESH; | 626 | net->nf_frag.frags.low_thresh = IPV6_FRAG_LOW_THRESH; |
629 | net->nf_frag.frags.timeout = IPV6_FRAG_TIMEOUT; | 627 | net->nf_frag.frags.timeout = IPV6_FRAG_TIMEOUT; |
630 | res = inet_frags_init_net(&net->nf_frag.frags); | 628 | inet_frags_init_net(&net->nf_frag.frags); |
631 | if (res) | 629 | |
632 | return res; | 630 | return nf_ct_frag6_sysctl_register(net); |
633 | res = nf_ct_frag6_sysctl_register(net); | ||
634 | if (res) | ||
635 | inet_frags_uninit_net(&net->nf_frag.frags); | ||
636 | return res; | ||
637 | } | 631 | } |
638 | 632 | ||
639 | static void nf_ct_net_exit(struct net *net) | 633 | static void nf_ct_net_exit(struct net *net) |
diff --git a/net/ipv6/reassembly.c b/net/ipv6/reassembly.c index e1da5b888cc4..846012eae526 100644 --- a/net/ipv6/reassembly.c +++ b/net/ipv6/reassembly.c | |||
@@ -714,19 +714,13 @@ static void ip6_frags_sysctl_unregister(void) | |||
714 | 714 | ||
715 | static int __net_init ipv6_frags_init_net(struct net *net) | 715 | static int __net_init ipv6_frags_init_net(struct net *net) |
716 | { | 716 | { |
717 | int res; | ||
718 | |||
719 | net->ipv6.frags.high_thresh = IPV6_FRAG_HIGH_THRESH; | 717 | net->ipv6.frags.high_thresh = IPV6_FRAG_HIGH_THRESH; |
720 | net->ipv6.frags.low_thresh = IPV6_FRAG_LOW_THRESH; | 718 | net->ipv6.frags.low_thresh = IPV6_FRAG_LOW_THRESH; |
721 | net->ipv6.frags.timeout = IPV6_FRAG_TIMEOUT; | 719 | net->ipv6.frags.timeout = IPV6_FRAG_TIMEOUT; |
722 | 720 | ||
723 | res = inet_frags_init_net(&net->ipv6.frags); | 721 | inet_frags_init_net(&net->ipv6.frags); |
724 | if (res) | 722 | |
725 | return res; | 723 | return ip6_frags_ns_sysctl_register(net); |
726 | res = ip6_frags_ns_sysctl_register(net); | ||
727 | if (res) | ||
728 | inet_frags_uninit_net(&net->ipv6.frags); | ||
729 | return res; | ||
730 | } | 724 | } |
731 | 725 | ||
732 | static void __net_exit ipv6_frags_exit_net(struct net *net) | 726 | static void __net_exit ipv6_frags_exit_net(struct net *net) |