diff options
author | Josh Boyer <jwboyer@fedoraproject.org> | 2014-12-15 14:39:28 -0500 |
---|---|---|
committer | Josh Boyer <jwboyer@fedoraproject.org> | 2014-12-15 14:40:37 -0500 |
commit | 59879cba34ee74208a9cc772c2a63f0a5d8d6192 (patch) | |
tree | 8306aaa8709918b0ca76fe9bec1018cacaa7b8cd | |
parent | c47527ae073c62f705ebbfc6c590452999b70298 (diff) | |
download | kernel-59879cba34ee74208a9cc772c2a63f0a5d8d6192.tar.gz kernel-59879cba34ee74208a9cc772c2a63f0a5d8d6192.tar.xz kernel-59879cba34ee74208a9cc772c2a63f0a5d8d6192.zip |
Fix ppc64 boot with smt-enabled=off (rhbz 1173806)
-rw-r--r-- | kernel.spec | 7 | ||||
-rw-r--r-- | powerpc-powernv-force-all-CPUs-to-be-bootable.patch | 46 |
2 files changed, 53 insertions, 0 deletions
diff --git a/kernel.spec b/kernel.spec index 08113625..63556da2 100644 --- a/kernel.spec +++ b/kernel.spec @@ -638,6 +638,9 @@ Patch26096: cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch #CVE-2014-8133 rhbz 1172797 1174374 Patch26100: x86-tls-Validate-TLS-entries-to-protect-espfix.patch +#rhbz 1173806 +Patch26101: powerpc-powernv-force-all-CPUs-to-be-bootable.patch + # git clone ssh://git.fedorahosted.org/git/kernel-arm64.git, git diff master...devel Patch30000: kernel-arm64.patch @@ -1386,6 +1389,9 @@ ApplyPatch cfg80211-don-t-WARN-about-two-consecutive-Country-IE.patch #CVE-2014-8133 rhbz 1172797 1174374 ApplyPatch x86-tls-Validate-TLS-entries-to-protect-espfix.patch +#rhbz 1173806 +ApplyPatch powerpc-powernv-force-all-CPUs-to-be-bootable.patch + %if 0%{?aarch64patches} ApplyPatch kernel-arm64.patch %ifnarch aarch64 # this is stupid, but i want to notice before secondary koji does. @@ -2261,6 +2267,7 @@ fi # || || %changelog * Mon Dec 15 2014 Josh Boyer <jwboyer@fedoraproject.org> +- Fix ppc64 boot with smt-enabled=off (rhbz 1173806) - CVE-2014-8133 x86: espfix(64) bypass via set_thread_area and CLONE_SETTLS (rhbz 1172797 1174374) * Fri Dec 12 2014 Kyle McMartin <kyle@fedoraproject.org> diff --git a/powerpc-powernv-force-all-CPUs-to-be-bootable.patch b/powerpc-powernv-force-all-CPUs-to-be-bootable.patch new file mode 100644 index 00000000..1c0b6233 --- /dev/null +++ b/powerpc-powernv-force-all-CPUs-to-be-bootable.patch @@ -0,0 +1,46 @@ +From: Greg Kurz <gkurz@linux.vnet.ibm.com> +Date: Fri, 12 Dec 2014 12:37:40 +0100 +Subject: [PATCH] powerpc/powernv: force all CPUs to be bootable + +The subcore logic needs all the CPUs declared in the DT to be bootable, +otherwise the kernel hangs at boot time. Since subcore support starts +with POWER8, we can keep the current behaviour for older CPUs. + +Signed-off-by: Greg Kurz <gkurz@linux.vnet.ibm.com> +--- + arch/powerpc/platforms/powernv/smp.c | 13 ++++++++++++- + 1 file changed, 12 insertions(+), 1 deletion(-) + +diff --git a/arch/powerpc/platforms/powernv/smp.c b/arch/powerpc/platforms/powernv/smp.c +index 5fcfcf44e3a9..52552e60df36 100644 +--- a/arch/powerpc/platforms/powernv/smp.c ++++ b/arch/powerpc/platforms/powernv/smp.c +@@ -185,13 +185,24 @@ static void pnv_smp_cpu_kill_self(void) + + #endif /* CONFIG_HOTPLUG_CPU */ + ++static int pnv_cpu_bootable(unsigned int nr) ++{ ++ /* Starting with POWER8, all CPUs need to be booted to avoid hangs ++ * during subcore init. ++ */ ++ if (cpu_has_feature(CPU_FTR_ARCH_207S)) ++ return 1; ++ ++ return smp_generic_cpu_bootable(nr); ++} ++ + static struct smp_ops_t pnv_smp_ops = { + .message_pass = smp_muxed_ipi_message_pass, + .cause_ipi = NULL, /* Filled at runtime by xics_smp_probe() */ + .probe = xics_smp_probe, + .kick_cpu = pnv_smp_kick_cpu, + .setup_cpu = pnv_smp_setup_cpu, +- .cpu_bootable = smp_generic_cpu_bootable, ++ .cpu_bootable = pnv_cpu_bootable, + #ifdef CONFIG_HOTPLUG_CPU + .cpu_disable = pnv_smp_cpu_disable, + .cpu_die = generic_cpu_die, +-- +2.1.0 + |