Certain versions of XenServer add debugging to csum_and_copy_to_user()
in such a way that it changes the function signature. This adds a
check and a workaround to allow us to build on these versions.
Signed-off-by: Jesse Gross <jesse@nicira.com>
Acked-by: Ben Pfaff <blp@nicira.com>
mkdir -p datapath/linux-2.6
: > datapath/linux-2.6/kcompat.h.new
+ OVS_GREP_IFELSE([$KSRC26/arch/x86/include/asm/checksum_32.h], [src_err,],
+ [OVS_DEFINE([HAVE_CSUM_COPY_DBG])])
+
OVS_GREP_IFELSE([$KSRC26/include/linux/err.h], [ERR_CAST],
[OVS_DEFINE([HAVE_ERR_CAST])])
}
#endif /* !HAVE_CSUM_UNFOLD */
+/* Workaround for debugging included in certain versions of XenServer. It only
+ * applies to 32-bit x86.
+ */
+#if defined(HAVE_CSUM_COPY_DBG) && defined(CONFIG_X86_32)
+#define csum_and_copy_to_user(src, dst, len, sum, err_ptr) \
+ csum_and_copy_to_user(src, dst, len, sum, NULL, err_ptr)
+#endif
+
#endif /* checksum.h */