Re: [PATCH v4 2/5] x86/msr: Carry on after a non-"safe" MSR access fails without !panic_on_oops

From: Ingo Molnar
Date: Tue Mar 15 2016 - 06:26:52 EST



* Ingo Molnar <mingo@xxxxxxxxxx> wrote:

> * Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
>
> > On Mon, Mar 14, 2016 at 11:40 AM, Linus Torvalds
> > <torvalds@xxxxxxxxxxxxxxxxxxxx> wrote:
> > > On Mon, Mar 14, 2016 at 11:24 AM, Andy Lutomirski <luto@xxxxxxxxxxxxxx> wrote:
> > >>
> > >> The code in my queue is, literally:
> > >>
> > >> bool ex_handler_rdmsr_unsafe(const struct exception_table_entry *fixup,
> > >> struct pt_regs *regs, int trapnr)
> > >> {
> > >> WARN_ONCE(1, "unchecked MSR access error: RDMSR from 0x%x",
> > >> (unsigned int)regs->cx);
> > >>
> > >> /* Pretend that the read succeeded and returned 0. */
> > >> regs->ip = ex_fixup_addr(fixup);
> > >> regs->ax = 0;
> > >> regs->dx = 0;
> > >> return true;
> > >> }
> > >> EXPORT_SYMBOL(ex_handler_rdmsr_unsafe);
> > >
> > > I guess I can live with this, as long as we also extend the
> > > early-fault handling to work with the special exception handlers.
> >
> > OK, will do. I need to rewrork the early IDT code a bit so it
> > generates a real pt_regs layout, but that's arguably a cleanup anyway.
>
> Ok, with that's I'm pretty happy about it as well.

Note, I think it's pretty clear at this point that this is v4.7 material.

Thanks,

Ingo