Re: [PATCH 0/5] kvm: fix latent guest entry/exit bugs

From: Christian Borntraeger
Date: Tue Jan 18 2022 - 07:10:26 EST




Am 18.01.22 um 13:02 schrieb Mark Rutland:
On Mon, Jan 17, 2022 at 06:45:36PM +0100, Paolo Bonzini wrote:
On 1/14/22 16:19, Mark Rutland wrote:
I also think there is another issue here. When an IRQ is taken from SIE, will
user_mode(regs) always be false, or could it be true if the guest userspace is
running? If it can be true I think tha context tracking checks can complain,
and it*might* be possible to trigger a panic().

I think that it would be false, because the guest PSW is in the SIE block
and switched on SIE entry and exit, but I might be incorrect.

Ah; that's the crux of my confusion: I had thought the guest PSW would
be placed in the regular lowcore *_old_psw slots. From looking at the
entry asm it looks like the host PSW (around the invocation of SIE) is
stored there, since that's what the OUTSIDE + SIEEXIT handling is
checking for.

Yes, Paolos observation is correct.

Assuming that's correct, I agree this problem doesn't exist, and there's
only the common RCU/tracing/lockdep management to fix.

Sorry for the noise, and thanks for the pointer!

Thanks,
Mark.