Alexey Kardashevskiy <a...@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 <a...@ozlabs.ru>

Reviewed-by: Fabiano Rosas <faro...@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:

Reply via email to