On Sat, 21 Nov 2020 22:25:35 +0100 Arnd Bergmann wrote: > On Sat, Nov 21, 2020 at 6:52 PM Jakub Kicinski <k...@kernel.org> wrote: > > > > We're about to do some reshuffling in networking headers and make > > some of the file lose the implicit includes. This results in: > > > > In file included from net/ipv4/netfilter/arp_tables.c:26: > > include/net/compat.h:57:23: error: conflicting types for ‘uintptr_t’ > > #define compat_uptr_t uintptr_t > > ^~~~~~~~~ > > include/asm-generic/compat.h:22:13: note: in expansion of macro > > ‘compat_uptr_t’ > > typedef u32 compat_uptr_t; > > ^~~~~~~~~~~~~ > > In file included from include/linux/limits.h:6, > > from include/linux/kernel.h:7, > > from net/ipv4/netfilter/arp_tables.c:14: > > include/linux/types.h:37:24: note: previous declaration of ‘uintptr_t’ was > > here > > typedef unsigned long uintptr_t; > > ^~~~~~~~~ > > > > Currently net/compat.h depends on linux/compat.h being included > > first. After the upcoming changes this would break the 32bit build. > > > > Signed-off-by: Jakub Kicinski <k...@kernel.org> > > --- > > Not sure who officially maintains this. Arnd, Christoph any objections? > > Looks good to me. I would actually go one step further and completely > remove this #ifdef, if possible. In the old days, it was not possible to > include linux/compat.h on 32-bit architectures, but now this should just > work without an #ifdef.
Indeed, that appears to work, v2 coming up, thanks!