On Thu, May 23, 2019 at 02:44:02PM -0700, Matthew Wilcox wrote: > > I think you'll find that PAGE_SIZE is unsigned long on all > > architectures. > > arch/openrisc/include/asm/page.h:#define PAGE_SIZE (1 << PAGE_SHIFT) Well, the whole context is: ifdef __ASSEMBLY__ #define PAGE_SIZE (1 << PAGE_SHIFT) #else #define PAGE_SIZE (1UL << PAGE_SHIFT) #endif Which reminds me that there is absolutely not point in letting architectures even defined this. Add a Kconfig PAGE_SHIFT symbol, and let common code define PAGE_SHIFT/PAGE_SIZE/PAGE_MASK..