commit: 810c5ac52bb5419588b7999d7e1f980dc91afe79 Author: Anthony G. Basile <blueness <AT> gentoo <DOT> org> AuthorDate: Fri Jun 6 12:00:54 2014 +0000 Commit: Anthony G. Basile <blueness <AT> gentoo <DOT> org> CommitDate: Fri Jun 6 12:00:54 2014 +0000 URL: http://git.overlays.gentoo.org/gitweb/?p=proj/hardened-patchset.git;a=commit;h=810c5ac5
Grsec/PaX: 3.0-3.2.59-201406052202 --- 3.2.59/0000_README | 2 +- ... 4420_grsecurity-3.0-3.2.59-201406052202.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 similarity index 99% rename from 3.2.59/4420_grsecurity-3.0-3.2.59-201406051309.patch rename to 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;