diff options
| author | WANG Cong <xiyou.wangcong@gmail.com> | 2014-06-02 18:55:22 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2014-06-05 03:49:51 -0400 |
| commit | 4cb28970a23ff209199b0a4358d68efe82c8f493 (patch) | |
| tree | 6fddc9391d7803318fb0903ffd101dc7837f5a30 | |
| parent | 9638f6713ff556bdc34e9d18eeb7c1b25b35e5ce (diff) | |
net: use the new API kvfree()
It is available since v3.15-rc5.
Cc: Pablo Neira Ayuso <pablo@netfilter.org>
Cc: "David S. Miller" <davem@davemloft.net>
Signed-off-by: Cong Wang <xiyou.wangcong@gmail.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
| -rw-r--r-- | net/core/dev.c | 10 | ||||
| -rw-r--r-- | net/ipv4/tcp_metrics.c | 5 | ||||
| -rw-r--r-- | net/netfilter/ipset/ip_set_core.c | 5 | ||||
| -rw-r--r-- | net/netfilter/nft_hash.c | 5 | ||||
| -rw-r--r-- | net/netfilter/xt_recent.c | 5 | ||||
| -rw-r--r-- | net/sched/sch_choke.c | 7 | ||||
| -rw-r--r-- | net/sched/sch_fq.c | 5 | ||||
| -rw-r--r-- | net/sched/sch_fq_codel.c | 7 | ||||
| -rw-r--r-- | net/sched/sch_hhf.c | 7 | ||||
| -rw-r--r-- | net/sched/sch_netem.c | 7 | ||||
| -rw-r--r-- | net/sched/sch_sfq.c | 7 |
11 files changed, 12 insertions, 58 deletions
diff --git a/net/core/dev.c b/net/core/dev.c index 5367bfba0947..a9a08e4a4857 100644 --- a/net/core/dev.c +++ b/net/core/dev.c | |||
| @@ -5933,10 +5933,7 @@ static void netdev_init_one_queue(struct net_device *dev, | |||
| 5933 | 5933 | ||
| 5934 | static void netif_free_tx_queues(struct net_device *dev) | 5934 | static void netif_free_tx_queues(struct net_device *dev) |
| 5935 | { | 5935 | { |
| 5936 | if (is_vmalloc_addr(dev->_tx)) | 5936 | kvfree(dev->_tx); |
| 5937 | vfree(dev->_tx); | ||
| 5938 | else | ||
| 5939 | kfree(dev->_tx); | ||
| 5940 | } | 5937 | } |
| 5941 | 5938 | ||
| 5942 | static int netif_alloc_netdev_queues(struct net_device *dev) | 5939 | static int netif_alloc_netdev_queues(struct net_device *dev) |
| @@ -6410,10 +6407,7 @@ void netdev_freemem(struct net_device *dev) | |||
| 6410 | { | 6407 | { |
| 6411 | char *addr = (char *)dev - dev->padded; | 6408 | char *addr = (char *)dev - dev->padded; |
| 6412 | 6409 | ||
| 6413 | if (is_vmalloc_addr(addr)) | 6410 | kvfree(addr); |
| 6414 | vfree(addr); | ||
| 6415 | else | ||
| 6416 | kfree(addr); | ||
| 6417 | } | 6411 | } |
| 6418 | 6412 | ||
| 6419 | /** | 6413 | /** |
diff --git a/net/ipv4/tcp_metrics.c b/net/ipv4/tcp_metrics.c index dcaf72f10216..4fe041805989 100644 --- a/net/ipv4/tcp_metrics.c +++ b/net/ipv4/tcp_metrics.c | |||
| @@ -1159,10 +1159,7 @@ static void __net_exit tcp_net_metrics_exit(struct net *net) | |||
| 1159 | tm = next; | 1159 | tm = next; |
| 1160 | } | 1160 | } |
| 1161 | } | 1161 | } |
| 1162 | if (is_vmalloc_addr(net->ipv4.tcp_metrics_hash)) | 1162 | kvfree(net->ipv4.tcp_metrics_hash); |
| 1163 | vfree(net->ipv4.tcp_metrics_hash); | ||
| 1164 | else | ||
| 1165 | kfree(net->ipv4.tcp_metrics_hash); | ||
| 1166 | } | 1163 | } |
| 1167 | 1164 | ||
| 1168 | static __net_initdata struct pernet_operations tcp_net_metrics_ops = { | 1165 | static __net_initdata struct pernet_operations tcp_net_metrics_ops = { |
diff --git a/net/netfilter/ipset/ip_set_core.c b/net/netfilter/ipset/ip_set_core.c index 117208321f16..ec8114fae50b 100644 --- a/net/netfilter/ipset/ip_set_core.c +++ b/net/netfilter/ipset/ip_set_core.c | |||
| @@ -271,10 +271,7 @@ ip_set_free(void *members) | |||
| 271 | { | 271 | { |
| 272 | pr_debug("%p: free with %s\n", members, | 272 | pr_debug("%p: free with %s\n", members, |
| 273 | is_vmalloc_addr(members) ? "vfree" : "kfree"); | 273 | is_vmalloc_addr(members) ? "vfree" : "kfree"); |
| 274 | if (is_vmalloc_addr(members)) | 274 | kvfree(members); |
| 275 | vfree(members); | ||
| 276 | else | ||
| 277 | kfree(members); | ||
| 278 | } | 275 | } |
| 279 | EXPORT_SYMBOL_GPL(ip_set_free); | 276 | EXPORT_SYMBOL_GPL(ip_set_free); |
| 280 | 277 | ||
diff --git a/net/netfilter/nft_hash.c b/net/netfilter/nft_hash.c index 1dfeb6786832..4080ed6a072b 100644 --- a/net/netfilter/nft_hash.c +++ b/net/netfilter/nft_hash.c | |||
| @@ -76,10 +76,7 @@ static bool nft_hash_lookup(const struct nft_set *set, | |||
| 76 | 76 | ||
| 77 | static void nft_hash_tbl_free(const struct nft_hash_table *tbl) | 77 | static void nft_hash_tbl_free(const struct nft_hash_table *tbl) |
| 78 | { | 78 | { |
| 79 | if (is_vmalloc_addr(tbl)) | 79 | kvfree(tbl); |
| 80 | vfree(tbl); | ||
| 81 | else | ||
| 82 | kfree(tbl); | ||
| 83 | } | 80 | } |
| 84 | 81 | ||
| 85 | static unsigned int nft_hash_tbl_size(unsigned int nelem) | 82 | static unsigned int nft_hash_tbl_size(unsigned int nelem) |
diff --git a/net/netfilter/xt_recent.c b/net/netfilter/xt_recent.c index 1e657cf715c4..a9faae89f955 100644 --- a/net/netfilter/xt_recent.c +++ b/net/netfilter/xt_recent.c | |||
| @@ -313,10 +313,7 @@ out: | |||
| 313 | 313 | ||
| 314 | static void recent_table_free(void *addr) | 314 | static void recent_table_free(void *addr) |
| 315 | { | 315 | { |
| 316 | if (is_vmalloc_addr(addr)) | 316 | kvfree(addr); |
| 317 | vfree(addr); | ||
| 318 | else | ||
| 319 | kfree(addr); | ||
| 320 | } | 317 | } |
| 321 | 318 | ||
| 322 | static int recent_mt_check(const struct xt_mtchk_param *par, | 319 | static int recent_mt_check(const struct xt_mtchk_param *par, |
diff --git a/net/sched/sch_choke.c b/net/sched/sch_choke.c index 2aee02802c27..ed30e436128b 100644 --- a/net/sched/sch_choke.c +++ b/net/sched/sch_choke.c | |||
| @@ -391,12 +391,7 @@ static const struct nla_policy choke_policy[TCA_CHOKE_MAX + 1] = { | |||
| 391 | 391 | ||
| 392 | static void choke_free(void *addr) | 392 | static void choke_free(void *addr) |
| 393 | { | 393 | { |
| 394 | if (addr) { | 394 | kvfree(addr); |
| 395 | if (is_vmalloc_addr(addr)) | ||
| 396 | vfree(addr); | ||
| 397 | else | ||
| 398 | kfree(addr); | ||
| 399 | } | ||
| 400 | } | 395 | } |
| 401 | 396 | ||
| 402 | static int choke_change(struct Qdisc *sch, struct nlattr *opt) | 397 | static int choke_change(struct Qdisc *sch, struct nlattr *opt) |
diff --git a/net/sched/sch_fq.c b/net/sched/sch_fq.c index 23c682b42f99..ba32c2b005d0 100644 --- a/net/sched/sch_fq.c +++ b/net/sched/sch_fq.c | |||
| @@ -591,10 +591,7 @@ static void *fq_alloc_node(size_t sz, int node) | |||
| 591 | 591 | ||
| 592 | static void fq_free(void *addr) | 592 | static void fq_free(void *addr) |
| 593 | { | 593 | { |
| 594 | if (addr && is_vmalloc_addr(addr)) | 594 | kvfree(addr); |
| 595 | vfree(addr); | ||
| 596 | else | ||
| 597 | kfree(addr); | ||
| 598 | } | 595 | } |
| 599 | 596 | ||
| 600 | static int fq_resize(struct Qdisc *sch, u32 log) | 597 | static int fq_resize(struct Qdisc *sch, u32 log) |
diff --git a/net/sched/sch_fq_codel.c b/net/sched/sch_fq_codel.c index 0bf432c782c1..063b726bf1f8 100644 --- a/net/sched/sch_fq_codel.c +++ b/net/sched/sch_fq_codel.c | |||
| @@ -365,12 +365,7 @@ static void *fq_codel_zalloc(size_t sz) | |||
| 365 | 365 | ||
| 366 | static void fq_codel_free(void *addr) | 366 | static void fq_codel_free(void *addr) |
| 367 | { | 367 | { |
| 368 | if (addr) { | 368 | kvfree(addr); |
| 369 | if (is_vmalloc_addr(addr)) | ||
| 370 | vfree(addr); | ||
| 371 | else | ||
| 372 | kfree(addr); | ||
| 373 | } | ||
| 374 | } | 369 | } |
| 375 | 370 | ||
| 376 | static void fq_codel_destroy(struct Qdisc *sch) | 371 | static void fq_codel_destroy(struct Qdisc *sch) |
diff --git a/net/sched/sch_hhf.c b/net/sched/sch_hhf.c index 6aab8619bbb0..d85b6812a7d4 100644 --- a/net/sched/sch_hhf.c +++ b/net/sched/sch_hhf.c | |||
| @@ -494,12 +494,7 @@ static void *hhf_zalloc(size_t sz) | |||
| 494 | 494 | ||
| 495 | static void hhf_free(void *addr) | 495 | static void hhf_free(void *addr) |
| 496 | { | 496 | { |
| 497 | if (addr) { | 497 | kvfree(addr); |
| 498 | if (is_vmalloc_addr(addr)) | ||
| 499 | vfree(addr); | ||
| 500 | else | ||
| 501 | kfree(addr); | ||
| 502 | } | ||
| 503 | } | 498 | } |
| 504 | 499 | ||
| 505 | static void hhf_destroy(struct Qdisc *sch) | 500 | static void hhf_destroy(struct Qdisc *sch) |
diff --git a/net/sched/sch_netem.c b/net/sched/sch_netem.c index f1669a00f571..111d70fddaea 100644 --- a/net/sched/sch_netem.c +++ b/net/sched/sch_netem.c | |||
| @@ -648,12 +648,7 @@ static void netem_reset(struct Qdisc *sch) | |||
| 648 | 648 | ||
| 649 | static void dist_free(struct disttable *d) | 649 | static void dist_free(struct disttable *d) |
| 650 | { | 650 | { |
| 651 | if (d) { | 651 | kvfree(d); |
| 652 | if (is_vmalloc_addr(d)) | ||
| 653 | vfree(d); | ||
| 654 | else | ||
| 655 | kfree(d); | ||
| 656 | } | ||
| 657 | } | 652 | } |
| 658 | 653 | ||
| 659 | /* | 654 | /* |
diff --git a/net/sched/sch_sfq.c b/net/sched/sch_sfq.c index 87317ff0b4ec..1af2f73906d0 100644 --- a/net/sched/sch_sfq.c +++ b/net/sched/sch_sfq.c | |||
| @@ -716,12 +716,7 @@ static void *sfq_alloc(size_t sz) | |||
| 716 | 716 | ||
| 717 | static void sfq_free(void *addr) | 717 | static void sfq_free(void *addr) |
| 718 | { | 718 | { |
| 719 | if (addr) { | 719 | kvfree(addr); |
| 720 | if (is_vmalloc_addr(addr)) | ||
| 721 | vfree(addr); | ||
| 722 | else | ||
| 723 | kfree(addr); | ||
| 724 | } | ||
| 725 | } | 720 | } |
| 726 | 721 | ||
| 727 | static void sfq_destroy(struct Qdisc *sch) | 722 | static void sfq_destroy(struct Qdisc *sch) |
