On Thu, Feb 15, 2018 at 7:16 AM, Arnd Bergmann <arnd@xxxxxxxx> wrote: > I ran into a 4.9 build warning in randconfig testing, starting with the > KAISER patches: > > arch/x86/kernel/ldt.c: In function 'alloc_ldt_struct': > arch/x86/include/asm/pgtable_types.h:208:24: error: large integer implicitly truncated to unsigned type [-Werror=overflow] > #define __PAGE_KERNEL (__PAGE_KERNEL_EXEC | _PAGE_NX) > ^ > arch/x86/kernel/ldt.c:81:6: note: in expansion of macro '__PAGE_KERNEL' > __PAGE_KERNEL); > ^~~~~~~~~~~~~ > > I originally ran into this last year when the patches were part of linux-next, > and tried to work around it by using the proper 'pteval_t' types consistently, > but that caused additional problems. > > This takes a much simpler approach, and makes the argument type of the dummy > helper always 64-bit, which is wide enough for any page table layout and > won't hurt since this call is just an empty stub anyway. > > Fixes: 8f0baadf2bea ("kaiser: merged update") > Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx> > --- > include/linux/kaiser.h | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/include/linux/kaiser.h b/include/linux/kaiser.h > index 58c55b1589d0..b56c19010480 100644 > --- a/include/linux/kaiser.h > +++ b/include/linux/kaiser.h > @@ -32,7 +32,7 @@ static inline void kaiser_init(void) > { > } > static inline int kaiser_add_mapping(unsigned long addr, > - unsigned long size, unsigned long flags) > + unsigned long size, u64 flags) > { > return 0; > } > -- > 2.9.0 > Acked-by: Kees Cook <keescook@xxxxxxxxxxxx> I assume this is needed for 4.4 as well... -Kees -- Kees Cook Pixel Security