All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-19 12:56 ` Marc Zyngier
  0 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-19 12:56 UTC (permalink / raw)
  To: kvmarm, kvm, linux-arm-kernel
  Cc: Christoffer Dall, Paolo Bonzini, Radim Krčmář,
	Tirumalesh Chalamarla

The kprobe enablement work has uncovered that changes made by
a guest to MDSCR_EL1 were propagated to the host when VHE was
enabled, leading to unexpected exception being delivered.

Moving this register to the list of registers that are always
context-switched fixes the issue.

Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
Cc: stable@vger.kernel.org #4.6
Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
v2: added missing Fixes and Cc-stable tags

 arch/arm64/kvm/hyp/sysreg-sr.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/kvm/hyp/sysreg-sr.c b/arch/arm64/kvm/hyp/sysreg-sr.c
index 0f7c40e..9341376 100644
--- a/arch/arm64/kvm/hyp/sysreg-sr.c
+++ b/arch/arm64/kvm/hyp/sysreg-sr.c
@@ -27,8 +27,8 @@ static void __hyp_text __sysreg_do_nothing(struct kvm_cpu_context *ctxt) { }
 /*
  * Non-VHE: Both host and guest must save everything.
  *
- * VHE: Host must save tpidr*_el[01], actlr_el1, sp0, pc, pstate, and
- * guest must save everything.
+ * VHE: Host must save tpidr*_el[01], actlr_el1, mdscr_el1, sp0, pc,
+ * pstate, and guest must save everything.
  */
 
 static void __hyp_text __sysreg_save_common_state(struct kvm_cpu_context *ctxt)
@@ -37,6 +37,7 @@ static void __hyp_text __sysreg_save_common_state(struct kvm_cpu_context *ctxt)
 	ctxt->sys_regs[TPIDR_EL0]	= read_sysreg(tpidr_el0);
 	ctxt->sys_regs[TPIDRRO_EL0]	= read_sysreg(tpidrro_el0);
 	ctxt->sys_regs[TPIDR_EL1]	= read_sysreg(tpidr_el1);
+	ctxt->sys_regs[MDSCR_EL1]	= read_sysreg(mdscr_el1);
 	ctxt->gp_regs.regs.sp		= read_sysreg(sp_el0);
 	ctxt->gp_regs.regs.pc		= read_sysreg_el2(elr);
 	ctxt->gp_regs.regs.pstate	= read_sysreg_el2(spsr);
@@ -61,7 +62,6 @@ static void __hyp_text __sysreg_save_state(struct kvm_cpu_context *ctxt)
 	ctxt->sys_regs[AMAIR_EL1]	= read_sysreg_el1(amair);
 	ctxt->sys_regs[CNTKCTL_EL1]	= read_sysreg_el1(cntkctl);
 	ctxt->sys_regs[PAR_EL1]		= read_sysreg(par_el1);
-	ctxt->sys_regs[MDSCR_EL1]	= read_sysreg(mdscr_el1);
 
 	ctxt->gp_regs.sp_el1		= read_sysreg(sp_el1);
 	ctxt->gp_regs.elr_el1		= read_sysreg_el1(elr);
@@ -90,6 +90,7 @@ static void __hyp_text __sysreg_restore_common_state(struct kvm_cpu_context *ctx
 	write_sysreg(ctxt->sys_regs[TPIDR_EL0],	  tpidr_el0);
 	write_sysreg(ctxt->sys_regs[TPIDRRO_EL0], tpidrro_el0);
 	write_sysreg(ctxt->sys_regs[TPIDR_EL1],	  tpidr_el1);
+	write_sysreg(ctxt->sys_regs[MDSCR_EL1],	  mdscr_el1);
 	write_sysreg(ctxt->gp_regs.regs.sp,	  sp_el0);
 	write_sysreg_el2(ctxt->gp_regs.regs.pc,	  elr);
 	write_sysreg_el2(ctxt->gp_regs.regs.pstate, spsr);
@@ -114,7 +115,6 @@ static void __hyp_text __sysreg_restore_state(struct kvm_cpu_context *ctxt)
 	write_sysreg_el1(ctxt->sys_regs[AMAIR_EL1],	amair);
 	write_sysreg_el1(ctxt->sys_regs[CNTKCTL_EL1], 	cntkctl);
 	write_sysreg(ctxt->sys_regs[PAR_EL1],		par_el1);
-	write_sysreg(ctxt->sys_regs[MDSCR_EL1],		mdscr_el1);
 
 	write_sysreg(ctxt->gp_regs.sp_el1,		sp_el1);
 	write_sysreg_el1(ctxt->gp_regs.elr_el1,		elr);
-- 
2.1.4


^ permalink raw reply related	[flat|nested] 11+ messages in thread

* [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-19 12:56 ` Marc Zyngier
  0 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-19 12:56 UTC (permalink / raw)
  To: linux-arm-kernel

The kprobe enablement work has uncovered that changes made by
a guest to MDSCR_EL1 were propagated to the host when VHE was
enabled, leading to unexpected exception being delivered.

Moving this register to the list of registers that are always
context-switched fixes the issue.

Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
Cc: stable at vger.kernel.org #4.6
Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
---
v2: added missing Fixes and Cc-stable tags

 arch/arm64/kvm/hyp/sysreg-sr.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/arch/arm64/kvm/hyp/sysreg-sr.c b/arch/arm64/kvm/hyp/sysreg-sr.c
index 0f7c40e..9341376 100644
--- a/arch/arm64/kvm/hyp/sysreg-sr.c
+++ b/arch/arm64/kvm/hyp/sysreg-sr.c
@@ -27,8 +27,8 @@ static void __hyp_text __sysreg_do_nothing(struct kvm_cpu_context *ctxt) { }
 /*
  * Non-VHE: Both host and guest must save everything.
  *
- * VHE: Host must save tpidr*_el[01], actlr_el1, sp0, pc, pstate, and
- * guest must save everything.
+ * VHE: Host must save tpidr*_el[01], actlr_el1, mdscr_el1, sp0, pc,
+ * pstate, and guest must save everything.
  */
 
 static void __hyp_text __sysreg_save_common_state(struct kvm_cpu_context *ctxt)
@@ -37,6 +37,7 @@ static void __hyp_text __sysreg_save_common_state(struct kvm_cpu_context *ctxt)
 	ctxt->sys_regs[TPIDR_EL0]	= read_sysreg(tpidr_el0);
 	ctxt->sys_regs[TPIDRRO_EL0]	= read_sysreg(tpidrro_el0);
 	ctxt->sys_regs[TPIDR_EL1]	= read_sysreg(tpidr_el1);
+	ctxt->sys_regs[MDSCR_EL1]	= read_sysreg(mdscr_el1);
 	ctxt->gp_regs.regs.sp		= read_sysreg(sp_el0);
 	ctxt->gp_regs.regs.pc		= read_sysreg_el2(elr);
 	ctxt->gp_regs.regs.pstate	= read_sysreg_el2(spsr);
@@ -61,7 +62,6 @@ static void __hyp_text __sysreg_save_state(struct kvm_cpu_context *ctxt)
 	ctxt->sys_regs[AMAIR_EL1]	= read_sysreg_el1(amair);
 	ctxt->sys_regs[CNTKCTL_EL1]	= read_sysreg_el1(cntkctl);
 	ctxt->sys_regs[PAR_EL1]		= read_sysreg(par_el1);
-	ctxt->sys_regs[MDSCR_EL1]	= read_sysreg(mdscr_el1);
 
 	ctxt->gp_regs.sp_el1		= read_sysreg(sp_el1);
 	ctxt->gp_regs.elr_el1		= read_sysreg_el1(elr);
@@ -90,6 +90,7 @@ static void __hyp_text __sysreg_restore_common_state(struct kvm_cpu_context *ctx
 	write_sysreg(ctxt->sys_regs[TPIDR_EL0],	  tpidr_el0);
 	write_sysreg(ctxt->sys_regs[TPIDRRO_EL0], tpidrro_el0);
 	write_sysreg(ctxt->sys_regs[TPIDR_EL1],	  tpidr_el1);
+	write_sysreg(ctxt->sys_regs[MDSCR_EL1],	  mdscr_el1);
 	write_sysreg(ctxt->gp_regs.regs.sp,	  sp_el0);
 	write_sysreg_el2(ctxt->gp_regs.regs.pc,	  elr);
 	write_sysreg_el2(ctxt->gp_regs.regs.pstate, spsr);
@@ -114,7 +115,6 @@ static void __hyp_text __sysreg_restore_state(struct kvm_cpu_context *ctxt)
 	write_sysreg_el1(ctxt->sys_regs[AMAIR_EL1],	amair);
 	write_sysreg_el1(ctxt->sys_regs[CNTKCTL_EL1], 	cntkctl);
 	write_sysreg(ctxt->sys_regs[PAR_EL1],		par_el1);
-	write_sysreg(ctxt->sys_regs[MDSCR_EL1],		mdscr_el1);
 
 	write_sysreg(ctxt->gp_regs.sp_el1,		sp_el1);
 	write_sysreg_el1(ctxt->gp_regs.elr_el1,		elr);
-- 
2.1.4

^ permalink raw reply related	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
  2016-07-19 12:56 ` Marc Zyngier
@ 2016-07-21 13:17   ` Radim Krčmář
  -1 siblings, 0 replies; 11+ messages in thread
From: Radim Krčmář @ 2016-07-21 13:17 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: kvm, Tirumalesh Chalamarla, Paolo Bonzini, kvmarm, linux-arm-kernel

2016-07-19 13:56+0100, Marc Zyngier:
> The kprobe enablement work has uncovered that changes made by
> a guest to MDSCR_EL1 were propagated to the host when VHE was
> enabled, leading to unexpected exception being delivered.
> 
> Moving this register to the list of registers that are always
> context-switched fixes the issue.
> 
> Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> Cc: stable@vger.kernel.org #4.6
> Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---

I would take this patch to 4.7 directly through the main tree.
Are your plans different?

Thanks.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-21 13:17   ` Radim Krčmář
  0 siblings, 0 replies; 11+ messages in thread
From: Radim Krčmář @ 2016-07-21 13:17 UTC (permalink / raw)
  To: linux-arm-kernel

2016-07-19 13:56+0100, Marc Zyngier:
> The kprobe enablement work has uncovered that changes made by
> a guest to MDSCR_EL1 were propagated to the host when VHE was
> enabled, leading to unexpected exception being delivered.
> 
> Moving this register to the list of registers that are always
> context-switched fixes the issue.
> 
> Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> Cc: stable at vger.kernel.org #4.6
> Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> ---

I would take this patch to 4.7 directly through the main tree.
Are your plans different?

Thanks.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
  2016-07-21 13:17   ` Radim Krčmář
  (?)
@ 2016-07-21 13:24     ` Marc Zyngier
  -1 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-21 13:24 UTC (permalink / raw)
  To: Radim Krčmář
  Cc: kvmarm, kvm, linux-arm-kernel, Christoffer Dall, Paolo Bonzini,
	Tirumalesh Chalamarla

On Thu, 21 Jul 2016 15:17:20 +0200
Radim Krčmář <rkrcmar@redhat.com> wrote:

Hi Radim,

> 2016-07-19 13:56+0100, Marc Zyngier:
> > The kprobe enablement work has uncovered that changes made by
> > a guest to MDSCR_EL1 were propagated to the host when VHE was
> > enabled, leading to unexpected exception being delivered.
> > 
> > Moving this register to the list of registers that are always
> > context-switched fixes the issue.
> > 
> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> > Cc: stable@vger.kernel.org #4.6
> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> > ---  
> 
> I would take this patch to 4.7 directly through the main tree.
> Are your plans different?

If you're happy to take it now, that works for me. I can either send a
PR right away, or you can apply it directly, whichever works best for
you.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-21 13:24     ` Marc Zyngier
  0 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-21 13:24 UTC (permalink / raw)
  To: Radim Krčmář
  Cc: kvmarm, kvm, linux-arm-kernel, Christoffer Dall, Paolo Bonzini,
	Tirumalesh Chalamarla

On Thu, 21 Jul 2016 15:17:20 +0200
Radim Krčmář <rkrcmar@redhat.com> wrote:

Hi Radim,

> 2016-07-19 13:56+0100, Marc Zyngier:
> > The kprobe enablement work has uncovered that changes made by
> > a guest to MDSCR_EL1 were propagated to the host when VHE was
> > enabled, leading to unexpected exception being delivered.
> > 
> > Moving this register to the list of registers that are always
> > context-switched fixes the issue.
> > 
> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> > Cc: stable@vger.kernel.org #4.6
> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> > ---  
> 
> I would take this patch to 4.7 directly through the main tree.
> Are your plans different?

If you're happy to take it now, that works for me. I can either send a
PR right away, or you can apply it directly, whichever works best for
you.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-21 13:24     ` Marc Zyngier
  0 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-21 13:24 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 21 Jul 2016 15:17:20 +0200
Radim Kr?m?? <rkrcmar@redhat.com> wrote:

Hi Radim,

> 2016-07-19 13:56+0100, Marc Zyngier:
> > The kprobe enablement work has uncovered that changes made by
> > a guest to MDSCR_EL1 were propagated to the host when VHE was
> > enabled, leading to unexpected exception being delivered.
> > 
> > Moving this register to the list of registers that are always
> > context-switched fixes the issue.
> > 
> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> > Cc: stable at vger.kernel.org #4.6
> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> > ---  
> 
> I would take this patch to 4.7 directly through the main tree.
> Are your plans different?

If you're happy to take it now, that works for me. I can either send a
PR right away, or you can apply it directly, whichever works best for
you.

Thanks,

	M.
-- 
Jazz is not dead. It just smells funny.

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
  2016-07-21 13:24     ` Marc Zyngier
@ 2016-07-21 13:49       ` Radim Krčmář
  -1 siblings, 0 replies; 11+ messages in thread
From: Radim Krčmář @ 2016-07-21 13:49 UTC (permalink / raw)
  To: Marc Zyngier
  Cc: kvmarm, kvm, linux-arm-kernel, Christoffer Dall, Paolo Bonzini,
	Tirumalesh Chalamarla

2016-07-21 14:24+0100, Marc Zyngier:
> On Thu, 21 Jul 2016 15:17:20 +0200
> Radim Krčmář <rkrcmar@redhat.com> wrote:
> 
> Hi Radim,
> 
>> 2016-07-19 13:56+0100, Marc Zyngier:
>> > The kprobe enablement work has uncovered that changes made by
>> > a guest to MDSCR_EL1 were propagated to the host when VHE was
>> > enabled, leading to unexpected exception being delivered.
>> > 
>> > Moving this register to the list of registers that are always
>> > context-switched fixes the issue.
>> > 
>> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
>> > Cc: stable@vger.kernel.org #4.6
>> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
>> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
>> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>> > ---  
>> 
>> I would take this patch to 4.7 directly through the main tree.
>> Are your plans different?
> 
> If you're happy to take it now, that works for me.

The fix is clear, tested, and would go to 4.7.stable.  Better to have it
in 4.7, IMO.

>                                                    I can either send a
> PR right away, or you can apply it directly, whichever works best for
> you.

It is just one patch so I'll apply it and send a pull request to Linus
on Saturday;  less cummulative work that way. :)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-21 13:49       ` Radim Krčmář
  0 siblings, 0 replies; 11+ messages in thread
From: Radim Krčmář @ 2016-07-21 13:49 UTC (permalink / raw)
  To: linux-arm-kernel

2016-07-21 14:24+0100, Marc Zyngier:
> On Thu, 21 Jul 2016 15:17:20 +0200
> Radim Kr?m?? <rkrcmar@redhat.com> wrote:
> 
> Hi Radim,
> 
>> 2016-07-19 13:56+0100, Marc Zyngier:
>> > The kprobe enablement work has uncovered that changes made by
>> > a guest to MDSCR_EL1 were propagated to the host when VHE was
>> > enabled, leading to unexpected exception being delivered.
>> > 
>> > Moving this register to the list of registers that are always
>> > context-switched fixes the issue.
>> > 
>> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
>> > Cc: stable at vger.kernel.org #4.6
>> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
>> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
>> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
>> > ---  
>> 
>> I would take this patch to 4.7 directly through the main tree.
>> Are your plans different?
> 
> If you're happy to take it now, that works for me.

The fix is clear, tested, and would go to 4.7.stable.  Better to have it
in 4.7, IMO.

>                                                    I can either send a
> PR right away, or you can apply it directly, whichever works best for
> you.

It is just one patch so I'll apply it and send a pull request to Linus
on Saturday;  less cummulative work that way. :)

^ permalink raw reply	[flat|nested] 11+ messages in thread

* Re: [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
  2016-07-21 13:49       ` Radim Krčmář
@ 2016-07-21 13:53         ` Marc Zyngier
  -1 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-21 13:53 UTC (permalink / raw)
  To: Radim Krčmář
  Cc: kvm, Tirumalesh Chalamarla, Paolo Bonzini, kvmarm, linux-arm-kernel

On Thu, 21 Jul 2016 15:49:38 +0200
Radim Krčmář <rkrcmar@redhat.com> wrote:

> 2016-07-21 14:24+0100, Marc Zyngier:
> > On Thu, 21 Jul 2016 15:17:20 +0200
> > Radim Krčmář <rkrcmar@redhat.com> wrote:
> > 
> > Hi Radim,
> >   
> >> 2016-07-19 13:56+0100, Marc Zyngier:  
> >> > The kprobe enablement work has uncovered that changes made by
> >> > a guest to MDSCR_EL1 were propagated to the host when VHE was
> >> > enabled, leading to unexpected exception being delivered.
> >> > 
> >> > Moving this register to the list of registers that are always
> >> > context-switched fixes the issue.
> >> > 
> >> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> >> > Cc: stable@vger.kernel.org #4.6
> >> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> >> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> >> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> >> > ---    
> >> 
> >> I would take this patch to 4.7 directly through the main tree.
> >> Are your plans different?  
> > 
> > If you're happy to take it now, that works for me.  
> 
> The fix is clear, tested, and would go to 4.7.stable.  Better to have it
> in 4.7, IMO.

Agreed.

> >                                                    I can either send a
> > PR right away, or you can apply it directly, whichever works best for
> > you.  
> 
> It is just one patch so I'll apply it and send a pull request to Linus
> on Saturday;  less cummulative work that way. :)

Brilliant. Thanks Radim.

	M.
-- 
Jazz is not dead. It just smells funny.
_______________________________________________
kvmarm mailing list
kvmarm@lists.cs.columbia.edu
https://lists.cs.columbia.edu/mailman/listinfo/kvmarm

^ permalink raw reply	[flat|nested] 11+ messages in thread

* [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1
@ 2016-07-21 13:53         ` Marc Zyngier
  0 siblings, 0 replies; 11+ messages in thread
From: Marc Zyngier @ 2016-07-21 13:53 UTC (permalink / raw)
  To: linux-arm-kernel

On Thu, 21 Jul 2016 15:49:38 +0200
Radim Kr?m?? <rkrcmar@redhat.com> wrote:

> 2016-07-21 14:24+0100, Marc Zyngier:
> > On Thu, 21 Jul 2016 15:17:20 +0200
> > Radim Kr?m?? <rkrcmar@redhat.com> wrote:
> > 
> > Hi Radim,
> >   
> >> 2016-07-19 13:56+0100, Marc Zyngier:  
> >> > The kprobe enablement work has uncovered that changes made by
> >> > a guest to MDSCR_EL1 were propagated to the host when VHE was
> >> > enabled, leading to unexpected exception being delivered.
> >> > 
> >> > Moving this register to the list of registers that are always
> >> > context-switched fixes the issue.
> >> > 
> >> > Fixes: 9c6c35683286 ("arm64: KVM: VHE: Split save/restore of registers shared between guest and host")
> >> > Cc: stable at vger.kernel.org #4.6
> >> > Reported-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> >> > Tested-by: Tirumalesh Chalamarla <Tirumalesh.Chalamarla@cavium.com>
> >> > Signed-off-by: Marc Zyngier <marc.zyngier@arm.com>
> >> > ---    
> >> 
> >> I would take this patch to 4.7 directly through the main tree.
> >> Are your plans different?  
> > 
> > If you're happy to take it now, that works for me.  
> 
> The fix is clear, tested, and would go to 4.7.stable.  Better to have it
> in 4.7, IMO.

Agreed.

> >                                                    I can either send a
> > PR right away, or you can apply it directly, whichever works best for
> > you.  
> 
> It is just one patch so I'll apply it and send a pull request to Linus
> on Saturday;  less cummulative work that way. :)

Brilliant. Thanks Radim.

	M.
-- 
Jazz is not dead. It just smells funny.

^ permalink raw reply	[flat|nested] 11+ messages in thread

end of thread, other threads:[~2016-07-21 13:53 UTC | newest]

Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2016-07-19 12:56 [PATCH v2] arm64: KVM: VHE: Context switch MDSCR_EL1 Marc Zyngier
2016-07-19 12:56 ` Marc Zyngier
2016-07-21 13:17 ` Radim Krčmář
2016-07-21 13:17   ` Radim Krčmář
2016-07-21 13:24   ` Marc Zyngier
2016-07-21 13:24     ` Marc Zyngier
2016-07-21 13:24     ` Marc Zyngier
2016-07-21 13:49     ` Radim Krčmář
2016-07-21 13:49       ` Radim Krčmář
2016-07-21 13:53       ` Marc Zyngier
2016-07-21 13:53         ` Marc Zyngier

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.