summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAnthony G. Basile <blueness@gentoo.org>2014-06-06 08:00:54 -0400
committerAnthony G. Basile <blueness@gentoo.org>2014-06-06 08:00:54 -0400
commit810c5ac52bb5419588b7999d7e1f980dc91afe79 (patch)
tree7211b3ee3877ddefd9d9e1311da8e59f4d3befd7
parentGrsec/PaX: 3.0-{3.2.59,3.14.5}-201406051310, CVE-2014-3153 (diff)
downloadhardened-patchset-810c5ac52bb5419588b7999d7e1f980dc91afe79.tar.gz
hardened-patchset-810c5ac52bb5419588b7999d7e1f980dc91afe79.tar.bz2
hardened-patchset-810c5ac52bb5419588b7999d7e1f980dc91afe79.zip
Grsec/PaX: 3.0-3.2.59-20140605220220140605b
-rw-r--r--3.2.59/0000_README2
-rw-r--r--3.2.59/4420_grsecurity-3.0-3.2.59-201406052202.patch (renamed from 3.2.59/4420_grsecurity-3.0-3.2.59-201406051309.patch)24
2 files changed, 21 insertions, 5 deletions
diff --git a/3.2.59/0000_README b/3.2.59/0000_README
index d9b8617..53759a1 100644
--- a/3.2.59/0000_README
+++ b/3.2.59/0000_README
@@ -154,7 +154,7 @@ Patch: 1058_linux-3.2.59.patch
From: http://www.kernel.org
Desc: Linux 3.2.59
-Patch: 4420_grsecurity-3.0-3.2.59-201406051309.patch
+Patch: 4420_grsecurity-3.0-3.2.59-201406052202.patch
From: http://www.grsecurity.net
Desc: hardened-sources base patch from upstream grsecurity
diff --git a/3.2.59/4420_grsecurity-3.0-3.2.59-201406051309.patch b/3.2.59/4420_grsecurity-3.0-3.2.59-201406052202.patch
index ff8e72f..bcb5cf5 100644
--- a/3.2.59/4420_grsecurity-3.0-3.2.59-201406051309.patch
+++ b/3.2.59/4420_grsecurity-3.0-3.2.59-201406052202.patch
@@ -23193,10 +23193,26 @@ index 16204dc..0e7d4b7 100644
.smp_prepare_cpus = native_smp_prepare_cpus,
.smp_cpus_done = native_smp_cpus_done,
diff --git a/arch/x86/kernel/smpboot.c b/arch/x86/kernel/smpboot.c
-index b88eadb..ac6663c 100644
+index b88eadb..198deca 100644
--- a/arch/x86/kernel/smpboot.c
+++ b/arch/x86/kernel/smpboot.c
-@@ -692,7 +692,7 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
+@@ -252,11 +252,13 @@ notrace static void __cpuinit start_secondary(void *unused)
+ preempt_disable();
+ smp_callin();
+
+-#ifdef CONFIG_X86_32
+ /* switch away from the initial page table */
++#ifdef CONFIG_PAX_PER_CPU_PGD
++ load_cr3(get_cpu_pgd(smp_processor_id()));
++#else
+ load_cr3(swapper_pg_dir);
++#endif
+ __flush_tlb_all();
+-#endif
+
+ /* otherwise gcc will move up smp_processor_id before the cpu_init */
+ barrier();
+@@ -692,7 +694,7 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
*/
if (c_idle.idle) {
c_idle.idle->thread.sp = (unsigned long) (((struct pt_regs *)
@@ -23205,7 +23221,7 @@ index b88eadb..ac6663c 100644
init_idle(c_idle.idle, cpu);
goto do_rest;
}
-@@ -709,17 +709,20 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
+@@ -709,17 +711,20 @@ static int __cpuinit do_boot_cpu(int apicid, int cpu)
set_idle_for_cpu(cpu, c_idle.idle);
do_rest:
per_cpu(current_task, cpu) = c_idle.idle;
@@ -23229,7 +23245,7 @@ index b88eadb..ac6663c 100644
initial_code = (unsigned long)start_secondary;
stack_start = c_idle.idle->thread.sp;
-@@ -861,6 +864,12 @@ int __cpuinit native_cpu_up(unsigned int cpu)
+@@ -861,6 +866,12 @@ int __cpuinit native_cpu_up(unsigned int cpu)
per_cpu(cpu_state, cpu) = CPU_UP_PREPARE;