Re: [patch 02/10] x86/mce: Disable tracing and kprobes on do_machine_check()

Peter Zijlstra
2020-02-26T13:29:07Z

On Tue, Feb 25, 2020 at 09:29:00PM -0800, Andy Lutomirski wrote:

> >> +void notrace do_machine_check(struct pt_regs *regs, long error_code)
> >> {
> >> DECLARE_BITMAP(valid_banks, MAX_NR_BANKS);
> >> DECLARE_BITMAP(toclear, MAX_NR_BANKS);
> >> @@ -1360,6 +1366,7 @@ void do_machine_check(struct pt_regs *re
> >> ist_exit(regs);
> >> }
> >> EXPORT_SYMBOL_GPL(do_machine_check);
> >> +NOKPROBE_SYMBOL(do_machine_check);
> >
> > That won't protect all the function called by do_machine_check(), right?
> > There are lots of them.
> >
>
> It at least means we can survive to run actual C code in
> do_machine_check(), which lets us try to mitigate this issue further.
> PeterZ has patches for that, and maybe this series fixes it later on.
> (I'm reading in order!)

Yeah, I don't cover that either. Making the kernel completely kprobe
safe is _lots_ more work I think.

We really need some form of automation for this :/ The current situation
is completely nonsatisfactory.