]> granicus.if.org Git - ipset/commitdiff
Add compatibility to support kvcalloc()
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Mon, 24 Sep 2018 16:28:53 +0000 (18:28 +0200)
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>
Mon, 24 Sep 2018 16:28:53 +0000 (18:28 +0200)
configure.ac
kernel/include/linux/netfilter/ipset/ip_set_compat.h.in

index 73a2f8c6d3b990655b48c363cf079ff3eb81d2a9..2df76b2f936790bcad1d213e7a5dc6250f59d057 100644 (file)
@@ -383,6 +383,16 @@ else
        AC_SUBST(HAVE_RBTREE_POSTORDER_FOR_EACH_ENTRY_SAFE, undef)
 fi
 
+AC_MSG_CHECKING([kernel source for kvcalloc])
+if test -f $ksourcedir/include/linux/mm.h && \
+   $GREP -q 'kvcalloc' $ksourcedir/include/linux/mm.h; then
+       AC_MSG_RESULT(yes)
+       AC_SUBST(HAVE_KVCALLOC, define)
+else
+       AC_MSG_RESULT(no)
+       AC_SUBST(HAVE_KVCALLOC, undef)
+fi
+
 AC_MSG_CHECKING([kernel source for kvfree])
 if test -f $ksourcedir/include/linux/mm.h && \
    $GREP -q 'kvfree' $ksourcedir/include/linux/mm.h; then
index 72b77b3963b7f29e575dee46e438ab7fdd3d7353..53bd588762b156072dcdc3633bd3ef7915a8acd4 100644 (file)
@@ -23,6 +23,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_KVCALLOC@ HAVE_KVCALLOC
 #@HAVE_KVFREE@ HAVE_KVFREE
 #@HAVE_XT_MTCHK_PARAM_STRUCT_NET@ HAVE_XT_MTCHK_PARAM_STRUCT_NET
 #@HAVE_TCF_EMATCH_OPS_CHANGE_ARG_NET@ HAVE_TCF_EMATCH_OPS_CHANGE_ARG_NET
@@ -215,6 +216,10 @@ static inline int nla_put_net64(struct sk_buff *skb, int attrtype, __be64 value)
        ipv6_skip_exthdr(skbuff, start, nexthdrp)
 #endif
 
+#ifndef HAVE_KVCALLOC
+#define kvcalloc(n, size, flags)       kcalloc(n, size, flags)
+#endif
+
 #ifndef HAVE_KVFREE
 #include <linux/vmalloc.h>
 static inline void kvfree(const void *addr)