summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--configure.ac10
-rw-r--r--kernel/include/linux/netfilter/ipset/ip_set_compat.h.in5
2 files changed, 15 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac
index a03401b..c707755 100644
--- a/configure.ac
+++ b/configure.ac
@@ -207,6 +207,16 @@ if test "$BUILDKMOD" == "yes"
then
dnl Check kernel incompatibilities... Ugly like hell
+AC_MSG_CHECKING([kernel source for INIT_DEFERRABLE_WORK])
+if test -f $ksourcedir/include/linux/workqueue.h && \
+ $GREP -q 'INIT_DEFERRABLE_WORK' $ksourcedir/include/linux/workqueue.h; then
+ AC_MSG_RESULT(yes)
+ AC_SUBST(HAVE_INIT_DEFERRABLE_WORK, define)
+else
+ AC_MSG_RESULT(no)
+ AC_SUBST(HAVE_INIT_DEFERRABLE_WORK, undef)
+fi
+
AC_MSG_CHECKING([kernel source for system_power_efficient_wq])
if test -f $ksourcedir/include/linux/workqueue.h && \
$GREP -q 'system_power_efficient_wq' $ksourcedir/include/linux/workqueue.h; then
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 0261b8d..deed058 100644
--- a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in
+++ b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in
@@ -5,6 +5,7 @@
* xt_set.c, ip_set_core.c, ip_set_getport.c, pfxlen.c too.
*/
+#@HAVE_INIT_DEFERRABLE_WORK@ HAVE_INIT_DEFERRABLE_WORK
#@HAVE_SYSTEM_POWER_EFFICIENT_WQ@ HAVE_SYSTEM_POWER_EFFICIENT_WQ
#@HAVE_STRUCT_XT_ACTION_PARAM@ HAVE_STRUCT_XT_ACTION_PARAM
#@HAVE_VZALLOC@ HAVE_VZALLOC
@@ -169,6 +170,10 @@ static inline void cond_resched_rcu(void)
#error "NETFILTER_NETLINK must be enabled: select NFACCT/NFQUEUE/LOG over NFNETLINK"
#endif
+#ifndef HAVE_INIT_DEFERRABLE_WORK
+#define INIT_DEFERRABLE_WORK INIT_DELAYED_WORK_DEFERRABLE
+#endif
+
#ifndef HAVE_SYSTEM_POWER_EFFICIENT_EQ
#define system_power_efficient_wq system_wq
#endif