diff mbox series

KVM: PPC: Book3S HV: Initialize AMOR in nested entry

Message ID 20220425142151.1495142-1-farosas@linux.ibm.com
State New
Headers show
Series KVM: PPC: Book3S HV: Initialize AMOR in nested entry | expand

Commit Message

Fabiano Rosas April 25, 2022, 2:21 p.m. UTC
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(+)

Comments

Nicholas Piggin April 28, 2022, 4:12 a.m. UTC | #1
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
> 
>
Fabiano Rosas April 28, 2022, 4:37 p.m. UTC | #2
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.
Michael Ellerman May 24, 2022, 10:51 a.m. UTC | #3
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 mbox series

Patch

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) {