Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
SUSE:SLE-12-SP1:Update
xen.7653
58e79a56-x86-mce-make-severity_cpu-private.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File 58e79a56-x86-mce-make-severity_cpu-private.patch of Package xen.7653
# Commit 011899a2e00b9f748c04d501c205da04bbff4359 # Date 2017-04-07 15:55:34 +0200 # Author Haozhong Zhang <haozhong.zhang@intel.com> # Committer Jan Beulich <jbeulich@suse.com> x86/mce: make 'severity_cpu' private to its users The current 'severity_cpu' is used by both mcheck_cmn_handler() and mce_softirq(). If MC# happens during mce_softirq(), the values set in mcheck_cmn_handler() and mce_softirq() may interfere with each other. Use private 'severity_cpu' for each function to fix this issue. Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com> Reviewed-by: Jan Beulich <jbeulich@suse.com> --- a/xen/arch/x86/cpu/mcheck/mce.c +++ b/xen/arch/x86/cpu/mcheck/mce.c @@ -183,7 +183,6 @@ static struct mce_softirq_barrier mce_tr */ static DEFINE_SPINLOCK(mce_logout_lock); -static atomic_t severity_cpu = ATOMIC_INIT(-1); static atomic_t found_error = ATOMIC_INIT(0); static cpumask_t mce_fatal_cpus; @@ -461,6 +460,7 @@ static int mce_urgent_action(const struc /* Shared #MC handler. */ void mcheck_cmn_handler(const struct cpu_user_regs *regs) { + static atomic_t severity_cpu = ATOMIC_INIT(-1); struct mca_banks *bankmask = mca_allbanks; struct mca_banks *clear_bank = __get_cpu_var(mce_clear_banks); uint64_t gstatus; @@ -1670,6 +1670,7 @@ static int mce_delayed_action(mctelem_co /* Softirq Handler for this MCE# processing */ static void mce_softirq(void) { + static atomic_t severity_cpu; int cpu = smp_processor_id(); unsigned int workcpu;
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor