Drop __cpuinitdata on disable_nx for x86_32 (rhbz 808075)

This commit is contained in:
Josh Boyer 2012-03-29 10:58:35 -04:00
parent db8452b1c5
commit f4908601bf
2 changed files with 53 additions and 1 deletions

View File

@ -42,7 +42,7 @@ Summary: The Linux kernel
# When changing real_sublevel below, reset this by hand to 1
# (or to 0 and then use rpmdev-bumpspec).
#
%global baserelease 1
%global baserelease 2
%global fedora_build %{baserelease}
# real_sublevel is the 3.x kernel version we're starting with
@ -579,6 +579,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
Patch350: force-version-2.6.patch
@ -1165,6 +1166,7 @@ ApplyPatch taint-vbox.patch
#
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
#
# bugfixes to drivers and filesystems
@ -2002,6 +2004,9 @@ fi
# and build.
%changelog
* Thu Mar 29 2012 Josh Boyer <jwboyer@redhat.com>
- Drop __cpuinitdata on disable_nx for x86_32 (rhbz 808075)
* Mon Mar 26 2012 Dave Jones <davej@redhat.com>
- Linux 3.2.13

View File

@ -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