diff options
author | Tomohiro Kusumi <[email protected]> | 2019-05-25 04:26:18 +0900 |
---|---|---|
committer | Brian Behlendorf <[email protected]> | 2019-05-24 12:26:18 -0700 |
commit | 8708fd888f8a2bd3c68ccc059a579ba7ff41f79d (patch) | |
tree | 7232e088cfefed488c10871a1307ab7407b59fe3 /include/spl | |
parent | 2e8c315fc6a9999e3c51c4b409dcd10a9e1accda (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/spl')
-rw-r--r-- | include/spl/sys/strings.h | 4 |
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 */ |