lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Tue, 26 Sep 2017 19:08:45 +0200 From: Borislav Petkov <bp@...en8.de> To: X86 ML <x86@...nel.org> Cc: LKML <linux-kernel@...r.kernel.org> Subject: [PATCH] x86/apic: Do not use smp_processor_id() in preemptible code From: Borislav Petkov <bp@...e.de> Call stack is: check_preemption_disabled ? x2apic_prepare_cpu x2apic_dead_cpu cpuhp_invoke_callback ? cpuhp_kick_ap_work ? cpumask_next _cpu_down freeze_secondary_cpus hibernation_snapshot ... i.e., box is doing suspend-to-disk. Signed-off-by: Borislav Petkov <bp@...e.de> --- arch/x86/kernel/apic/x2apic_cluster.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/x86/kernel/apic/x2apic_cluster.c b/arch/x86/kernel/apic/x2apic_cluster.c index 3da94277140f..6050c5364bdc 100644 --- a/arch/x86/kernel/apic/x2apic_cluster.c +++ b/arch/x86/kernel/apic/x2apic_cluster.c @@ -156,7 +156,7 @@ static int x2apic_dead_cpu(unsigned int dead_cpu) { struct cluster_mask *cmsk = per_cpu(cluster_masks, dead_cpu); - cpumask_clear_cpu(smp_processor_id(), &cmsk->mask); + cpumask_clear_cpu(dead_cpu, &cmsk->mask); free_cpumask_var(per_cpu(ipi_mask, dead_cpu)); return 0; } -- 2.13.0
Powered by blists - more mailing lists