Re: vmlinux.o: warning: objtool: do_machine_check()+0x5fa: call to memset() leaves .noinstr.text section

From: Borislav Petkov
Date: Wed Jan 19 2022 - 18:17:49 EST


Just some off-the-top-of-my-head thoughts:

On Wed, Jan 19, 2022 at 02:57:27PM -0800, Jakub Kicinski wrote:
> vmlinux.o: warning: objtool: mce_start()+0x5e: call to __kasan_check_write() leaves .noinstr.text section

Disable KASAN for the whole of MCE, I dunno.

> vmlinux.o: warning: objtool: mce_gather_info()+0x5f: call to v8086_mode.isra.1() leaves .noinstr.text section

v8086_mode() is a oneliner which does "return 0;" on 64-bit. I can't
fathom how your crazy compiler decided not to inline it. Unless there's
instrumentation gunk blowing this function up.

> vmlinux.o: warning: objtool: do_machine_check()+0xa32: call to mce_clear_state() leaves .noinstr.text section

I guess we can inline that - it is simple and has a single call site.
The compiler should have inlined it but for some reason I doesn't want
to.

> vmlinux.o: warning: objtool: mce_severity_amd.constprop.1()+0xd1: call to mce_severity_amd_smca.isra.0() leaves .noinstr.text section

Your funny compiler doesn't inline that one either even if it is called
only once, just like the above.

So, I'd like to reproduce that here and play with it a bit. What iso
can I install in a guest here so that I can get pretty close to your
environment?

Thx.

--
Regards/Gruss,
Boris.

SUSE Software Solutions Germany GmbH, GF: Ivo Totev, HRB 36809, AG Nürnberg