From f87083ee9cf7417a76105f26ef705426cc551e3b Mon Sep 17 00:00:00 2001 From: WANG Cong Date: Mon, 3 Nov 2014 17:35:30 +0100 Subject: net: use the new API kvfree() It is available since v3.15-rc5. Cc: Pablo Neira Ayuso Cc: "David S. Miller" Signed-off-by: Cong Wang Signed-off-by: David S. Miller --- kernel/include/linux/netfilter/ipset/ip_set_compat.h.in | 11 +++++++++++ kernel/net/netfilter/ipset/ip_set_core.c | 5 +---- 2 files changed, 12 insertions(+), 4 deletions(-) (limited to 'kernel') diff --git a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in index 0966289..d38197c 100644 --- a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in +++ b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in @@ -35,6 +35,7 @@ #@HAVE_NET_OPS_ID@ HAVE_NET_OPS_ID #@HAVE_USER_NS_IN_STRUCT_NET@ HAVE_USER_NS_IN_STRUCT_NET #@HAVE_RBTREE_POSTORDER_FOR_EACH_ENTRY_SAFE@ HAVE_RBTREE_POSTORDER_FOR_EACH_ENTRY_SAFE +#@HAVE_KVFREE@ HAVE_KVFREE /* Not everything could be moved here. Compatibility stuffs can be found in * xt_set.c, ip_set_core.c, ip_set_getport.c, pfxlen.c too. @@ -115,6 +116,16 @@ static inline int nla_put_net64(struct sk_buff *skb, int attrtype, __be64 value) #define unlock_nfnl() nfnl_unlock() #endif +#ifndef HAVE_KVFREE +static inline void kvfree(const void *addr) +{ + if (is_vmalloc_addr(addr)) + vfree(addr); + else + kfree(addr); +} +#endif + #ifdef NLA_PUT_NET16 static inline int nla_put_be16(struct sk_buff *skb, int attrtype, __be16 value) { diff --git a/kernel/net/netfilter/ipset/ip_set_core.c b/kernel/net/netfilter/ipset/ip_set_core.c index bd45302..d37ee69 100644 --- a/kernel/net/netfilter/ipset/ip_set_core.c +++ b/kernel/net/netfilter/ipset/ip_set_core.c @@ -276,10 +276,7 @@ ip_set_free(void *members) { pr_debug("%p: free with %s\n", members, is_vmalloc_addr(members) ? "vfree" : "kfree"); - if (is_vmalloc_addr(members)) - vfree(members); - else - kfree(members); + kvfree(members); } EXPORT_SYMBOL_GPL(ip_set_free); -- cgit v1.2.3