aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/src/compat/compat.h
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2017-11-29 02:02:31 +0100
committerJason A. Donenfeld <Jason@zx2c4.com>2017-11-29 02:02:31 +0100
commitd698467a75c497a5b0dcb09775b7c2e9e12e0976 (patch)
tree3555d95d0f07a74edd81df6063af36a614222882 /src/compat/compat.h
parentdevice: do not clear keys during sleep on Android (diff)
downloadwireguard-monolithic-historical-d698467a75c497a5b0dcb09775b7c2e9e12e0976.tar.xz
wireguard-monolithic-historical-d698467a75c497a5b0dcb09775b7c2e9e12e0976.zip
compat: fix 3.10 backport
For archs that do not provide the magic csum function, we need to provide the generic function. Also, some obscure 3.10s have backported the int size macros, so we ifndef around that to avoid potentially fatal warnings.
Diffstat (limited to '')
-rw-r--r--src/compat/compat.h24
1 files changed, 24 insertions, 0 deletions
diff --git a/src/compat/compat.h b/src/compat/compat.h
index 16e7923..042e987 100644
--- a/src/compat/compat.h
+++ b/src/compat/compat.h
@@ -215,19 +215,43 @@ static inline u32 prandom_u32_max(u32 ep_ro)
#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 75) && !defined(ISRHEL7)
+#ifndef U8_MAX
#define U8_MAX ((u8)~0U)
+#endif
+#ifndef S8_MAX
#define S8_MAX ((s8)(U8_MAX >> 1))
+#endif
+#ifndef S8_MIN
#define S8_MIN ((s8)(-S8_MAX - 1))
+#endif
+#ifndef U16_MAX
#define U16_MAX ((u16)~0U)
+#endif
+#ifndef S16_MAX
#define S16_MAX ((s16)(U16_MAX >> 1))
+#endif
+#ifndef S16_MIN
#define S16_MIN ((s16)(-S16_MAX - 1))
+#endif
+#ifndef U32_MAX
#define U32_MAX ((u32)~0U)
+#endif
+#ifndef S32_MAX
#define S32_MAX ((s32)(U32_MAX >> 1))
+#endif
+#ifndef S32_MIN
#define S32_MIN ((s32)(-S32_MAX - 1))
+#endif
+#ifndef U64_MAX
#define U64_MAX ((u64)~0ULL)
+#endif
+#ifndef S64_MAX
#define S64_MAX ((s64)(U64_MAX >> 1))
+#endif
+#ifndef S64_MIN
#define S64_MIN ((s64)(-S64_MAX - 1))
#endif
+#endif
#if LINUX_VERSION_CODE < KERNEL_VERSION(3, 10, 60) && !defined(ISRHEL7)
/* Making this static may very well invalidate its usefulness,