提交 edb3d07e 编写于 作者: B Borislav Petkov

x86/mce: Mark mce_timed_out() noinstr

Fixes

  vmlinux.o: warning: objtool: do_machine_check()+0x482: call to mce_timed_out() leaves .noinstr.text section
Signed-off-by: NBorislav Petkov <bp@suse.de>
Link: https://lore.kernel.org/r/20211208111343.8130-12-bp@alien8.de
上级 75581a20
...@@ -883,8 +883,13 @@ static cpumask_t mce_missing_cpus = CPU_MASK_ALL; ...@@ -883,8 +883,13 @@ static cpumask_t mce_missing_cpus = CPU_MASK_ALL;
/* /*
* Check if a timeout waiting for other CPUs happened. * Check if a timeout waiting for other CPUs happened.
*/ */
static int mce_timed_out(u64 *t, const char *msg) static noinstr int mce_timed_out(u64 *t, const char *msg)
{ {
int ret = 0;
/* Enable instrumentation around calls to external facilities */
instrumentation_begin();
/* /*
* The others already did panic for some reason. * The others already did panic for some reason.
* Bail out like in a timeout. * Bail out like in a timeout.
...@@ -903,12 +908,17 @@ static int mce_timed_out(u64 *t, const char *msg) ...@@ -903,12 +908,17 @@ static int mce_timed_out(u64 *t, const char *msg)
cpumask_pr_args(&mce_missing_cpus)); cpumask_pr_args(&mce_missing_cpus));
mce_panic(msg, NULL, NULL); mce_panic(msg, NULL, NULL);
} }
return 1; ret = 1;
goto out;
} }
*t -= SPINUNIT; *t -= SPINUNIT;
out: out:
touch_nmi_watchdog(); touch_nmi_watchdog();
return 0;
instrumentation_end();
return ret;
} }
/* /*
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册