[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <cover.1442445946.git.luto@kernel.org>
Date: Wed, 16 Sep 2015 16:33:11 -0700
From: Andy Lutomirski <luto@...nel.org>
To: x86@...nel.org
Cc: Paolo Bonzini <pbonzini@...hat.com>,
Peter Zijlstra <peterz@...radead.org>,
KVM list <kvm@...r.kernel.org>,
Arjan van de Ven <arjan@...ux.intel.com>,
xen-devel <Xen-devel@...ts.xen.org>,
linux-kernel@...r.kernel.org, Andy Lutomirski <luto@...nel.org>
Subject: [PATCH 0/3] x86/paravirt: Fix baremetal paravirt MSR ops
Setting CONFIG_PARAVIRT=y has an unintended side effect: it silently
turns all rdmsr and wrmsr operations into the safe variants without
any checks that the operations actually succeed.
This is IMO awful: it papers over bugs. In particular, KVM gueests
might be unwittingly depending on this behavior because
CONFIG_KVM_GUEST currently depends on CONFIG_PARAVIRT. I'm not
aware of any such problems, but applying this series would be a good
way to shake them out.
Fix it so that the MSR operations work the same on CONFIG_PARAVIRT=n
and CONFIG_PARAVIRT=y as long as Xen isn't being used. The Xen
maintainers are welcome to make a similar change on top of this.
Since there's plenty of time before the next merge window, I think
we should apply and fix anything that breaks.
Doing this is probably a prerequisite to sanely decoupling
CONFIG_KVM_GUEST and CONFIG_PARAVIRT, which would probably make
Arjan and the rest of the Clear Containers people happy :)
Andy Lutomirski (3):
x86/paravirt: Add _safe to the read_msr and write_msr PV hooks
x86/paravirt: Add paravirt_{read,write}_msr
x86/paravirt: Make "unsafe" MSR accesses unsafe even if PARAVIRT=y
arch/x86/include/asm/paravirt.h | 45 +++++++++++++++++++++--------------
arch/x86/include/asm/paravirt_types.h | 12 +++++++---
arch/x86/kernel/paravirt.c | 6 +++--
arch/x86/xen/enlighten.c | 27 +++++++++++++++++++--
4 files changed, 65 insertions(+), 25 deletions(-)
--
2.4.3
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists