aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorTomohiro Kusumi <[email protected]>2019-05-25 04:26:18 +0900
committerBrian Behlendorf <[email protected]>2019-05-24 12:26:18 -0700
commit8708fd888f8a2bd3c68ccc059a579ba7ff41f79d (patch)
tree7232e088cfefed488c10871a1307ab7407b59fe3 /include
parent2e8c315fc6a9999e3c51c4b409dcd10a9e1accda (diff)
Linux 2.6.39 compat: Test if kstrtoul() exists
kstrtoul() exists only after torvalds/linux@33ee3b2e2eb9 in 2.6.39. Use strict_strtoul() if kstrtoul() doesn't exist. Note that strict_strtoul() has existed as an alias for kstrtoul() for a while, but removed in torvalds/linux@3db2e9cdc085. It looks like RHEL6 (2.6.32 based) has backported kstrtoul(), and this caused build CI to pass compilation test. It should fail on vanilla < 2.6.39 kernels or distro kernels without backport as reported in #8760. -- # grep "kstrtoul(" /lib/modules/2.6.32-754.12.1.el6.x86_64/build/ \ include/linux/kernel.h >/dev/null # echo $? 0 Reviewed-by: Brian Behlendorf <[email protected]> Reviewed-by: loli10K <[email protected]> Signed-off-by: Tomohiro Kusumi <[email protected]> Closes #8760 Closes #8761
Diffstat (limited to 'include')
-rw-r--r--include/spl/sys/strings.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/spl/sys/strings.h b/include/spl/sys/strings.h
index 4fb803206..8b810c9af 100644
--- a/include/spl/sys/strings.h
+++ b/include/spl/sys/strings.h
@@ -28,4 +28,8 @@
#define bcopy(src, dest, size) memmove(dest, src, size)
#define bcmp(src, dest, size) memcmp((src), (dest), (size_t)(size))
+#ifndef HAVE_KSTRTOUL
+#define kstrtoul strict_strtoul
+#endif
+
#endif /* _SPL_SYS_STRINGS_H */