compat-$(CONFIG_COMPAT_KERNEL_3_11) += compat-3.11.o
compat-$(CONFIG_COMPAT_KERNEL_3_12) += compat-3.12.o
compat-$(CONFIG_COMPAT_KERNEL_3_13) += compat-3.13.o
+compat-$(CONFIG_COMPAT_KERNEL_3_15) += compat-3.15.o
compat-$(CONFIG_COMPAT_KERNEL_3_16) += compat-3.16.o
compat-$(CONFIG_COMPAT_KERNEL_3_18) += compat-3.18.o
--- /dev/null
+#include <linux/export.h>
+#include <linux/vmalloc.h>
+
+#define kvfree LINUX_BACKPORT(kvfree)
+void kvfree(const void *addr)
+{
+ if (is_vmalloc_addr(addr))
+ vfree(addr);
+ else
+ kfree(addr);
+}
+EXPORT_SYMBOL(kvfree);
AC_MSG_RESULT(no)
])
- AC_MSG_CHECKING([if mm.h has kvfree])
- LB_LINUX_TRY_COMPILE([
- #include <linux/mm.h>
- ],[
- kvfree(NULL);
-
- return 0;
- ],[
- AC_MSG_RESULT(yes)
- AC_DEFINE(HAVE_KVFREE, 1,
- [kvfree is defined])
- ],[
- AC_MSG_RESULT(no)
- ])
-
AC_MSG_CHECKING([if netdevice.h has dev_consume_skb_any])
LB_LINUX_TRY_COMPILE([
#include <linux/netdevice.h>
--- /dev/null
+#ifndef LINUX_3_15_COMPAT_H
+#define LINUX_3_15_COMPAT_H
+
+#include <linux/version.h>
+
+#if (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0))
+
+#define kvfree LINUX_BACKPORT(kvfree)
+extern void kvfree(const void *addr);
+
+#endif /* (LINUX_VERSION_CODE < KERNEL_VERSION(3,15,0)) */
+
+#endif /* LINUX_3_15_COMPAT_H */