From 71f160e0193fee45242bebeff7f1282846e83d2c Mon Sep 17 00:00:00 2001 From: hselasky Date: Fri, 13 Nov 2015 09:00:39 +0000 Subject: [PATCH] Add assert and note about the size of "unsigned long" inside the LinuxKPI for the future. Sponsored by: Mellanox Technologies --- sys/compat/linuxkpi/common/src/linux_compat.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/sys/compat/linuxkpi/common/src/linux_compat.c b/sys/compat/linuxkpi/common/src/linux_compat.c index f51329cd4b71..cc0479b70fb1 100644 --- a/sys/compat/linuxkpi/common/src/linux_compat.c +++ b/sys/compat/linuxkpi/common/src/linux_compat.c @@ -950,3 +950,11 @@ linux_compat_uninit(void *arg) kobject_kfree_name(&miscclass.kobj); } SYSUNINIT(linux_compat, SI_SUB_DRIVERS, SI_ORDER_SECOND, linux_compat_uninit, NULL); + +/* + * NOTE: Linux frequently uses "unsigned long" for pointer to integer + * conversion and vice versa, where in FreeBSD "uintptr_t" would be + * used. Assert these types have the same size, else some parts of the + * LinuxKPI may not work like expected: + */ +CTASSERT(sizeof(unsigned long) == sizeof(uintptr_t));