Patchwork nx-emu: fix inverted report of disable_nx

login
register
mail settings
Submitter Kees Cook
Date Nov. 21, 2010, 7:03 a.m.
Message ID <20101121070342.GE4617@outflux.net>
Download mbox | patch
Permalink /patch/72433/
State Accepted
Delegated to: Tim Gardner
Headers show

Comments

Kees Cook - Nov. 21, 2010, 7:03 a.m.
This nx-emu commit:
http://git.kernel.org/?p=linux/kernel/git/frob/linux-2.6-roland.git;a=commitdiff;h=b86f45c02494d4cba26caf132e8a178854e812fd
was intended to replace "exec_shield" with "!disable_nx", but in
x86_report_nx() it was not correctly inverted resulting in a backward
report to dmesg about the state of nx-emu.

Signed-off-by: Kees Cook <kees.cook@canonical.com>
---
 arch/x86/mm/setup_nx.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)
Kyle McMartin - Nov. 22, 2010, 7:47 p.m.
On Sat, Nov 20, 2010 at 11:03:42PM -0800, Kees Cook wrote:
> This nx-emu commit:
> http://git.kernel.org/?p=linux/kernel/git/frob/linux-2.6-roland.git;a=commitdiff;h=b86f45c02494d4cba26caf132e8a178854e812fd
> was intended to replace "exec_shield" with "!disable_nx", but in
> x86_report_nx() it was not correctly inverted resulting in a backward
> report to dmesg about the state of nx-emu.
> 
> Signed-off-by: Kees Cook <kees.cook@canonical.com>

Thanks, applied (to Fedora at least.)

--Kyle
Tim Gardner - Nov. 22, 2010, 8:20 p.m.
On 11/21/2010 12:03 AM, Kees Cook wrote:
> This nx-emu commit:
> http://git.kernel.org/?p=linux/kernel/git/frob/linux-2.6-roland.git;a=commitdiff;h=b86f45c02494d4cba26caf132e8a178854e812fd
> was intended to replace "exec_shield" with "!disable_nx", but in
> x86_report_nx() it was not correctly inverted resulting in a backward
> report to dmesg about the state of nx-emu.
>
> Signed-off-by: Kees Cook<kees.cook@canonical.com>
> ---
>   arch/x86/mm/setup_nx.c |    2 +-
>   1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/arch/x86/mm/setup_nx.c b/arch/x86/mm/setup_nx.c
> index b936b25..1d7a269 100644
> --- a/arch/x86/mm/setup_nx.c
> +++ b/arch/x86/mm/setup_nx.c
> @@ -42,7 +42,7 @@ void __init x86_report_nx(void)
>   {
>   	if (!cpu_has_nx) {
>   #ifdef CONFIG_X86_32
> -		if (disable_nx)
> +		if (!disable_nx)
>   			printk(KERN_INFO "NX (Execute Disable) protection: "
>   			       "approximated by x86 segment limits\n");
>   		else

Applied to Ubuntu natty
Roland McGrath - Nov. 22, 2010, 11:37 p.m.
I merged it into my fedora/x86-nx-emulation tree.

Thanks,
Roland

Patch

diff --git a/arch/x86/mm/setup_nx.c b/arch/x86/mm/setup_nx.c
index b936b25..1d7a269 100644
--- a/arch/x86/mm/setup_nx.c
+++ b/arch/x86/mm/setup_nx.c
@@ -42,7 +42,7 @@  void __init x86_report_nx(void)
 {
 	if (!cpu_has_nx) {
 #ifdef CONFIG_X86_32
-		if (disable_nx)
+		if (!disable_nx)
 			printk(KERN_INFO "NX (Execute Disable) protection: "
 			       "approximated by x86 segment limits\n");
 		else