Re: [PATCH stable-5.7] KVM: arm64: Synchronize sysreg state on injecting an AArch32 exception

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Jun 16, 2020 at 02:21:11PM +0100, Marc Zyngier wrote:
> On 2020-06-16 14:19, Marc Zyngier wrote:
> > Hi Greg,
> > 
> > On 2020-06-16 14:09, Greg KH wrote:
> > > On Tue, Jun 16, 2020 at 01:52:00PM +0100, Marc Zyngier wrote:
> > > > commit 0370964dd3ff7d3d406f292cb443a927952cbd05 upstream
> > > > 
> > > > On a VHE system, the EL1 state is left in the CPU most of the time,
> > > > and only syncronized back to memory when vcpu_put() is called (most
> > > > of the time on preemption).
> > > > 
> > > > Which means that when injecting an exception, we'd better have a way
> > > > to either:
> > > > (1) write directly to the EL1 sysregs
> > > > (2) synchronize the state back to memory, and do the changes there
> > > > 
> > > > For an AArch64, we already do (1), so we are safe. Unfortunately,
> > > > doing the same thing for AArch32 would be pretty invasive. Instead,
> > > > we can easily implement (2) by calling the put/load architectural
> > > > backends, and keep preemption disabled. We can then reload the
> > > > state back into EL1.
> > > > 
> > > > Cc: stable@xxxxxxxxxxxxxxx
> > > > Reported-by: James Morse <james.morse@xxxxxxx>
> > > > Signed-off-by: Marc Zyngier <maz@xxxxxxxxxx>
> > > > ---
> > > >  virt/kvm/arm/aarch32.c | 28 ++++++++++++++++++++++++++++
> > > >  1 file changed, 28 insertions(+)
> > > 
> > > Thanks for this, and the other backport.  Queued up.
> > 
> > You seem to have queued the same patches for 5.4 and 5.6.
> 
> Huh, and 4.19 as well. Gahh...

Oops, sorry, my fault.

I'll go drop them now, thanks.

greg k-h



[Index of Archives]     [Linux Kernel]     [Kernel Development Newbies]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite Hiking]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux