Message ID | 20220425142151.1495142-1-farosas@linux.ibm.com |
---|---|
State | New |
Headers | show |
Series | KVM: PPC: Book3S HV: Initialize AMOR in nested entry | expand |
Excerpts from Fabiano Rosas's message of April 26, 2022 12:21 am: > The hypervisor always sets AMOR to ~0, but let's ensure we're not > passing stale values around. > Reviewed-by: Nicholas Piggin <npiggin@gmail.com> Looks like our L0 doesn't do anything with hvregs.amor ? Thanks, Nick > Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> > --- > arch/powerpc/kvm/book3s_hv.c | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index 6fa518f6501d..b5f504576765 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -3967,6 +3967,7 @@ static int kvmhv_vcpu_entry_p9_nested(struct kvm_vcpu *vcpu, u64 time_limit, uns > > kvmhv_save_hv_regs(vcpu, &hvregs); > hvregs.lpcr = lpcr; > + hvregs.amor = ~0; > vcpu->arch.regs.msr = vcpu->arch.shregs.msr; > hvregs.version = HV_GUEST_STATE_VERSION; > if (vcpu->arch.nested) { > -- > 2.35.1 > >
Nicholas Piggin <npiggin@gmail.com> writes: > Excerpts from Fabiano Rosas's message of April 26, 2022 12:21 am: >> The hypervisor always sets AMOR to ~0, but let's ensure we're not >> passing stale values around. >> > > Reviewed-by: Nicholas Piggin <npiggin@gmail.com> > > Looks like our L0 doesn't do anything with hvregs.amor ? It doesn't. And if the HV ever starts clearing bits from AMOR, then we would need to change any kernel code that writes and reads from AMR ( such as the KUAP) to take into consideration that we might read a different value from what we wrote.
On Mon, 25 Apr 2022 11:21:51 -0300, Fabiano Rosas wrote: > The hypervisor always sets AMOR to ~0, but let's ensure we're not > passing stale values around. > > Applied to powerpc/topic/ppc-kvm. [1/1] KVM: PPC: Book3S HV: Initialize AMOR in nested entry https://git.kernel.org/powerpc/c/1d1cd0f12a3ab5d7f79ae6cca28e7d23dd351ce3 cheers
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index 6fa518f6501d..b5f504576765 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -3967,6 +3967,7 @@ static int kvmhv_vcpu_entry_p9_nested(struct kvm_vcpu *vcpu, u64 time_limit, uns kvmhv_save_hv_regs(vcpu, &hvregs); hvregs.lpcr = lpcr; + hvregs.amor = ~0; vcpu->arch.regs.msr = vcpu->arch.shregs.msr; hvregs.version = HV_GUEST_STATE_VERSION; if (vcpu->arch.nested) {
The hypervisor always sets AMOR to ~0, but let's ensure we're not passing stale values around. Signed-off-by: Fabiano Rosas <farosas@linux.ibm.com> --- arch/powerpc/kvm/book3s_hv.c | 1 + 1 file changed, 1 insertion(+)