summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJosh Boyer <jwboyer@redhat.com>2012-03-29 10:58:35 -0400
committerJosh Boyer <jwboyer@redhat.com>2012-03-29 11:04:44 -0400
commit993b5199f8d24787786ef33da16097419ee9796d (patch)
treea3eb34b3972cc0f14748a72c2793c5ca8db12a6d
parentaf856217e097ba4c16dc1e636138446a02970805 (diff)
downloadkernel-993b5199f8d24787786ef33da16097419ee9796d.tar.gz
kernel-993b5199f8d24787786ef33da16097419ee9796d.tar.xz
kernel-993b5199f8d24787786ef33da16097419ee9796d.zip
Drop __cpuinitdata on disable_nx for x86_32 (rhbz 808075)
-rw-r--r--kernel.spec5
-rw-r--r--nx-emu-remove-cpuinitdata-for-disable_nx-on-x86_32.patch47
2 files changed, 52 insertions, 0 deletions
diff --git a/kernel.spec b/kernel.spec
index a50a8afca..f1a7817e5 100644
--- a/kernel.spec
+++ b/kernel.spec
@@ -652,6 +652,7 @@ Patch09: linux-2.6-upstream-reverts.patch
Patch100: taint-vbox.patch
Patch160: linux-2.6-32bit-mmap-exec-randomization.patch
Patch161: linux-2.6-i386-nx-emulation.patch
+Patch162: nx-emu-remove-cpuinitdata-for-disable_nx-on-x86_32.patch
Patch390: linux-2.6-defaults-acpi-video.patch
Patch391: linux-2.6-acpi-video-dos.patch
@@ -1307,6 +1308,7 @@ ApplyPatch taint-vbox.patch
# x86(-64)
ApplyPatch linux-2.6-32bit-mmap-exec-randomization.patch
ApplyPatch linux-2.6-i386-nx-emulation.patch
+ApplyPatch nx-emu-remove-cpuinitdata-for-disable_nx-on-x86_32.patch
#
# ARM
@@ -2307,6 +2309,9 @@ fi
# ||----w |
# || ||
%changelog
+* Thu Mar 29 2012 Josh Boyer <jwboyer@redhat.com>
+- Drop __cpuinitdata on disable_nx for x86_32 (rhbz 808075)
+
* Wed Mar 28 2012 Josh Boyer <jwboyer@redhat.com>
- Move 9p modules back to main package for KVM (rhbz 807733)
diff --git a/nx-emu-remove-cpuinitdata-for-disable_nx-on-x86_32.patch b/nx-emu-remove-cpuinitdata-for-disable_nx-on-x86_32.patch
new file mode 100644
index 000000000..38c96caed
--- /dev/null
+++ b/nx-emu-remove-cpuinitdata-for-disable_nx-on-x86_32.patch
@@ -0,0 +1,47 @@
+>From e540f21852043a4d8e8cf5e505607909d0ab0f51 Mon Sep 17 00:00:00 2001
+From: Tim Gardner <tim.gardner@canonical.com>
+Date: Thu, 29 Mar 2012 06:21:01 -0600
+Subject: [PATCH] UBUNTU: SAUCE: disable_nx should not be in __cpuinitdata
+ section for X86_32
+
+I noticed a section mismatch warning while building 3.2.0-20.33 for X86_32.
+
+ AR arch/x86/lib/lib.a
+ LD vmlinux.o
+ MODPOST vmlinux.o
+WARNING: vmlinux.o(.text+0x187833): Section mismatch in reference from the function load_elf_binary() to the variable .cpuinit.data:disable_nx
+The function load_elf_binary() references
+the variable __cpuinitdata disable_nx.
+This is often because load_elf_binary lacks a __cpuinitdata
+annotation or the annotation of disable_nx is wrong.
+
+load_elf_binary() is definitely called after initialization.
+
+This code was added by 'UBUNTU: ubuntu: nx-emu - i386: NX emulation', so
+this is not an upstream problem.
+
+Reported-by: Tetsuo Handa <from-ubuntu@I-love.SAKURA.ne.jp>
+Signed-off-by: Tim Gardner <tim.gardner@canonical.com>
+---
+ arch/x86/mm/setup_nx.c | 4 ++++
+ 1 files changed, 4 insertions(+), 0 deletions(-)
+
+diff --git a/arch/x86/mm/setup_nx.c b/arch/x86/mm/setup_nx.c
+index 90c9eff3..89fd946 100644
+--- a/arch/x86/mm/setup_nx.c
++++ b/arch/x86/mm/setup_nx.c
+@@ -6,7 +6,11 @@
+ #include <asm/pgtable.h>
+ #include <asm/proto.h>
+
++#ifdef CONFIG_X86_32
++int disable_nx; /* referenced by load_elf_binary() */
++#else
+ int disable_nx __cpuinitdata;
++#endif
+
+ /*
+ * noexec = on|off
+--
+1.7.9.1
+