On Thursday 21 May 2020 22:14:22 CEST Hauke Mehrtens wrote: > When compiling inside the kernel include linux/stddef.h instead of > stddef.h. When I compile this header file in backports for power PC I > run into a conflict with ptrdiff_t. I was unable to reproduce this in > mainline kernel. I still would like to fix this problem in the kernel. > > Fixes: 6989310f5d43 ("wireless: Use offsetof instead of custom macro.") > Signed-off-by: Hauke Mehrtens <hauke@xxxxxxxxxx> > --- > include/uapi/linux/wireless.h | 6 +++++- > 1 file changed, 5 insertions(+), 1 deletion(-) > > diff --git a/include/uapi/linux/wireless.h b/include/uapi/linux/wireless.h > index a2c006a364e0..24f3371ad826 100644 > --- a/include/uapi/linux/wireless.h > +++ b/include/uapi/linux/wireless.h > @@ -74,7 +74,11 @@ > #include <linux/socket.h> /* for "struct sockaddr" et al */ > #include <linux/if.h> /* for IFNAMSIZ and co... */ > > -#include <stddef.h> /* for offsetof */ > +#ifdef __KERNEL__ > +# include <linux/stddef.h> /* for offsetof */ > +#else > +# include <stddef.h> /* for offsetof */ > +#endif Hello, This patch also solves a warning I encountered when I launched sparse (with make C=1): /usr/lib/gcc-cross/arm-linux-gnueabihf/9/include/stddef.h:406:9: warning: preprocessor token offsetof redefined ./include/linux/stddef.h:17:9: this was the original definition However, I wonder if it useful to keep 'include <stddef.h>' when this file is included from userspace. If it does not compile anymore, there is problem somewhere else, no? (Globally, I always find suspicious a kernel source that includes a system header) -- Jérôme Pouiller