[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CAGXu5jKH1N3nqmRLnRiieGS-YpXj+dptDAB65ZgBWx+Ey3mCdQ@mail.gmail.com>
Date: Thu, 15 Feb 2018 09:58:00 -0800
From: Kees Cook <keescook@...omium.org>
To: Arnd Bergmann <arnd@...db.de>
Cc: "# 3.4.x" <stable@...r.kernel.org>, X86 ML <x86@...nel.org>,
Dave Hansen <dave.hansen@...ux.intel.com>,
Ben Hutchings <ben.hutchings@...ethink.co.uk>,
Greg Kroah-Hartman <gregkh@...uxfoundation.org>,
Hugh Dickins <hughd@...gle.com>,
LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH 2/2] [stable-4.9] x86: fix build warnign with 32-bit PAE
On Thu, Feb 15, 2018 at 7:16 AM, Arnd Bergmann <arnd@...db.de> 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@...db.de>
> ---
> 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@...omium.org>
I assume this is needed for 4.4 as well...
-Kees
--
Kees Cook
Pixel Security
Powered by blists - more mailing lists