Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit ea22571c authored by Thomas Gleixner's avatar Thomas Gleixner Committed by Tony Luck
Browse files

x86: mce: Disable preemption when calling raise_local()



raise_mce() has a code path which does not disable preemption when the
raise_local() is called. The per cpu variable access in raise_local()
depends on preemption being disabled to be functional. So that code
path was either never tested or never tested with CONFIG_DEBUG_PREEMPT
enabled.

Add the missing preempt_disable/enable() pair around the call.

Signed-off-by: default avatarThomas Gleixner <tglx@linutronix.de>
Signed-off-by: default avatarChen Gong <gong.chen@linux.intel.com>
Signed-off-by: default avatarTony Luck <tony.luck@intel.com>
parent 0d7614f0
Loading
Loading
Loading
Loading
+4 −0
Original line number Diff line number Diff line
@@ -194,7 +194,11 @@ static void raise_mce(struct mce *m)
		put_online_cpus();
	} else
#endif
	{
		preempt_disable();
		raise_local();
		preempt_enable();
	}
}

/* Error injection interface */