[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CA+55aFy2dNgBJwjd+fRUYQf9OxqGkkcjUEarv+o3QSFTJ6+gJQ@mail.gmail.com>
Date: Mon, 14 Mar 2016 11:40:58 -0700
From: Linus Torvalds <torvalds@...ux-foundation.org>
To: Andy Lutomirski <luto@...capital.net>
Cc: Paolo Bonzini <pbonzini@...hat.com>,
xen-devel <Xen-devel@...ts.xen.org>,
Arjan van de Ven <arjan@...ux.intel.com>,
Borislav Petkov <bp@...en8.de>, X86 ML <x86@...nel.org>,
Andrew Morton <akpm@...ux-foundation.org>,
KVM list <kvm@...r.kernel.org>,
Andy Lutomirski <luto@...nel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
Peter Zijlstra <peterz@...radead.org>
Subject: Re: [PATCH v4 2/5] x86/msr: Carry on after a non-"safe" MSR access
fails without !panic_on_oops
On Mon, Mar 14, 2016 at 11:24 AM, Andy Lutomirski <luto@...capital.net> 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.
And as long as people start understanding that killing the machine is
a bad bad bad thing. It's a debugging nightmare.
Linus
Powered by blists - more mailing lists