[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <CALCETrWxSBwwFTFsRoR_9AVBoC0iJ1pdWwOq_cnFf3NHUpG4QA@mail.gmail.com>
Date: Mon, 14 Mar 2016 11:48:47 -0700
From: Andy Lutomirski <luto@...capital.net>
To: Linus Torvalds <torvalds@...ux-foundation.org>
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:40 AM, Linus Torvalds
<torvalds@...ux-foundation.org> wrote:
> 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.
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.
--Andy
Powered by blists - more mailing lists