summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJozsef Kadlecsik <kadlec@netfilter.org>2020-12-20 14:11:06 +0100
committerJozsef Kadlecsik <kadlec@netfilter.org>2020-12-20 14:11:06 +0100
commit0281117233dd91f93d3cbc01ef64247933549b52 (patch)
treecd5efecb2de624490745420bbfa058ce091a0c9d
parente1db281ca1debde3d0ef66a6aa130469d449c301 (diff)
Backward compatibility: handle renaming nla_strlcpy to nla_strscpy
Signed-off-by: Jozsef Kadlecsik <kadlec@netfilter.org>
-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 2f06590..c777eed 100644
--- a/configure.ac
+++ b/configure.ac
@@ -725,6 +725,16 @@ else
AC_SUBST(HAVE_LOCKDEP_NFNL_IS_HELD, undef)
fi
+AC_MSG_CHECKING([kernel source for nla_strscpy() in netlink.h])
+if test -f $ksourcedir/include/net/netlink.h && \
+ $GREP -q ' nla_strscpy' $ksourcedir/include/net/netlink.h; then
+ AC_MSG_RESULT(yes)
+ AC_SUBST(HAVE_NLA_STRSCPY, define)
+else
+ AC_MSG_RESULT(no)
+ AC_SUBST(HAVE_NLA_STRSCPY, undef)
+fi
+
AC_MSG_CHECKING([kernel source for strscpy() in string.h])
if test -f $ksourcedir/include/linux/timer.h && \
$GREP -q ' strscpy' $ksourcedir/include/linux/string.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 eecf330..96a4cf4 100644
--- a/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in
+++ b/kernel/include/linux/netfilter/ipset/ip_set_compat.h.in
@@ -61,6 +61,7 @@
#@HAVE_NLA_POLICY_EXACT_LEN@ HAVE_NLA_POLICY_EXACT_LEN
#@HAVE_KVZALLOC@ HAVE_KVZALLOC
#@HAVE_GFP_KERNEL_ACCOUNT@ HAVE_GFP_KERNEL_ACCOUNT
+#@HAVE_NLA_STRSCPY@ HAVE_NLA_STRSCPY
#ifdef HAVE_EXPORT_SYMBOL_GPL_IN_MODULE_H
#include <linux/module.h>
@@ -454,6 +455,10 @@ static inline ssize_t strscpy(char * dest, const char * src, size_t count)
}
#endif
+#ifndef HAVE_NLA_STRSCPY
+#define nla_strscpy nla_strlcpy
+#endif
+
#ifndef smp_mb__before_atomic
#define smp_mb__before_atomic() smp_mb()
#define smp_mb__after_atomic() smp_mb()