[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20091020084335.4e8d97e9@infradead.org>
Date: Tue, 20 Oct 2009 08:43:35 +0900
From: Arjan van de Ven <arjan@...radead.org>
To: Kees Cook <kees.cook@...onical.com>
Cc: Thomas Gleixner <tglx@...utronix.de>,
Ingo Molnar <mingo@...hat.com>,
"H. Peter Anvin" <hpa@...or.com>, x86@...nel.org,
Pekka Enberg <penberg@...helsinki.fi>,
Jan Beulich <jbeulich@...ell.com>,
Vegard Nossum <vegardno@....uio.no>,
Yinghai Lu <yinghai@...nel.org>,
Jeremy Fitzhardinge <jeremy.fitzhardinge@...rix.com>,
linux-kernel@...r.kernel.org
Subject: Re: [PATCH] [x86] detect and report lack of NX protections
On Mon, 19 Oct 2009 11:42:34 -0700
Kees Cook <kees.cook@...onical.com> wrote:
> It is possible for x86_64 systems to lack the NX bit (see
> check_efer()) either due to the hardware lacking support or the BIOS
> having turned off the CPU capability, so NX status should be
> reported. Additionally, anyone booting NX-capable CPUs in 32bit mode
> without PAE will lack NX functionality, so this change provides
> feedback for that case as well.
>
> Signed-off-by: Kees Cook <kees.cook@...onical.com>
> ---
> arch/x86/mm/init.c | 10 ++++++++++
> arch/x86/mm/setup_nx.c | 2 ++
> 2 files changed, 12 insertions(+), 0 deletions(-)
>
> diff --git a/arch/x86/mm/init.c b/arch/x86/mm/init.c
> index 73ffd55..8472293 100644
> --- a/arch/x86/mm/init.c
> +++ b/arch/x86/mm/init.c
> @@ -149,6 +149,16 @@ unsigned long __init_refok
> init_memory_mapping(unsigned long start, set_nx();
> if (nx_enabled)
> printk(KERN_INFO "NX (Execute Disable) protection:
> active\n");
> + else if (cpu_has_pae)
> +#if defined(CONFIG_X86_64) || defined(CONFIG_X86_PAE)
> + /* PAE kernel, PAE CPU, without NX */
> + printk(KERN_WARNING "Warning: NX (Execute Disable)
> protection "
> + "missing in CPU or disabled in BIOS!\n");
> +#else
> + /* 32bit non-PAE kernel, PAE CPU */
> + printk(KERN_WARNING "Warning: NX (Execute Disable)
> protection "
> + "cannot be enabled: non-PAE kernel!\n");
> +#endif
can we please not use "Warning" for something like this in the
message...
lets keep "Warning" for real WARN_ON() kind of events.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists