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: Fri, 11 Nov 2011 21:26:31 -0800 From: "Fenghua Yu" <fenghua.yu@...el.com> To: "Thomas Gleixner" <tglx@...utronix.de>, "H Peter Anvin" <hpa@...or.com>, "Ingo Molnar" <mingo@...e.hu>, "Linus Torvalds" <torvalds@...ux-foundation.org>, "Andrew Morton" <akpm@...ux-foundation.org>, "Tony Luck" <tony.luck@...el.com>, "Arjan van de Ven" <arjan.van.de.ven@...el.com>, "Suresh B Siddha" <suresh.b.siddha@...el.com>, "Len Brown" <len.brown@...el.com>, "Randy Dunlap" <rdunlap@...otime.net>, "Srivatsa S. Bhat" <srivatsa.bhat@...ux.vnet.ibm.com>, Konrad Rzeszutek Wilk <konrad.wilk@...cle.com>, Peter Zijlstra <peterz@...radead.org> Cc: "linux-kernel" <linux-kernel@...r.kernel.org>, "linux-pm" <linux-pm@...r.kernel.org>, "x86" <x86@...nel.org>, "Fenghua Yu" <fenghua.yu@...el.com> Subject: [PATCH v4 6/7] x86/i387.c: Thread xstate is initialized only on BSP once From: Fenghua Yu <fenghua.yu@...el.com> init_thread_xstate() is only called on BSP once to avoid overriding xstate_size. Signed-off-by: Fenghua Yu <fenghua.yu@...el.com> --- arch/x86/kernel/i387.c | 9 ++++++++- 1 files changed, 8 insertions(+), 1 deletions(-) diff --git a/arch/x86/kernel/i387.c b/arch/x86/kernel/i387.c index 739d859..72652ff 100644 --- a/arch/x86/kernel/i387.c +++ b/arch/x86/kernel/i387.c @@ -93,6 +93,7 @@ void __cpuinit fpu_init(void) { unsigned long cr0; unsigned long cr4_mask = 0; + static int once = 1; if (cpu_has_fxsr) cr4_mask |= X86_CR4_OSFXSR; @@ -107,8 +108,14 @@ void __cpuinit fpu_init(void) cr0 |= X86_CR0_EM; write_cr0(cr0); - if (!smp_processor_id()) + /* + * init_thread_xstate is only called on BSP once to avoid overriding + * xstate_size. + */ + if (!smp_processor_id() && once) { + once = 0; init_thread_xstate(); + } mxcsr_feature_mask_init(); /* clean state in init */ -- 1.6.0.3 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists