Message ID | 20210805075649.2086567-1-aik@ozlabs.ru |
---|---|
State | New |
Headers | show |
Series | [kernel,v2] KVM: PPC: Use arch_get_random_seed_long instead of powernv variant | expand |
Alexey Kardashevskiy <aik@ozlabs.ru> writes: > The powernv_get_random_long() does not work in nested KVM (which is > pseries) and produces a crash when accessing in_be64(rng->regs) in > powernv_get_random_long(). > > This replaces powernv_get_random_long with the ppc_md machine hook > wrapper. > > Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> Reviewed-by: Fabiano Rosas <farosas@linux.ibm.com> > --- > > Changes: > v2: > * replaces [PATCH kernel] powerpc/powernv: Check if powernv_rng is initialized > > --- > arch/powerpc/kvm/book3s_hv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c > index be0cde26f156..ecfd133e0ca8 100644 > --- a/arch/powerpc/kvm/book3s_hv.c > +++ b/arch/powerpc/kvm/book3s_hv.c > @@ -1165,7 +1165,7 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) > break; > #endif > case H_RANDOM: > - if (!powernv_get_random_long(&vcpu->arch.regs.gpr[4])) > + if (!arch_get_random_seed_long(&vcpu->arch.regs.gpr[4])) > ret = H_HARDWARE; > break; > case H_RPT_INVALIDATE:
On Thu, 5 Aug 2021 17:56:49 +1000, Alexey Kardashevskiy wrote: > The powernv_get_random_long() does not work in nested KVM (which is > pseries) and produces a crash when accessing in_be64(rng->regs) in > powernv_get_random_long(). > > This replaces powernv_get_random_long with the ppc_md machine hook > wrapper. Applied to powerpc/next. [1/1] KVM: PPC: Use arch_get_random_seed_long instead of powernv variant https://git.kernel.org/powerpc/c/2ac78e0c00184a9ba53d507be7549c69a3f566b6 cheers
diff --git a/arch/powerpc/kvm/book3s_hv.c b/arch/powerpc/kvm/book3s_hv.c index be0cde26f156..ecfd133e0ca8 100644 --- a/arch/powerpc/kvm/book3s_hv.c +++ b/arch/powerpc/kvm/book3s_hv.c @@ -1165,7 +1165,7 @@ int kvmppc_pseries_do_hcall(struct kvm_vcpu *vcpu) break; #endif case H_RANDOM: - if (!powernv_get_random_long(&vcpu->arch.regs.gpr[4])) + if (!arch_get_random_seed_long(&vcpu->arch.regs.gpr[4])) ret = H_HARDWARE; break; case H_RPT_INVALIDATE:
The powernv_get_random_long() does not work in nested KVM (which is pseries) and produces a crash when accessing in_be64(rng->regs) in powernv_get_random_long(). This replaces powernv_get_random_long with the ppc_md machine hook wrapper. Signed-off-by: Alexey Kardashevskiy <aik@ozlabs.ru> --- Changes: v2: * replaces [PATCH kernel] powerpc/powernv: Check if powernv_rng is initialized --- arch/powerpc/kvm/book3s_hv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)