[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-Id: <D77HY793RN09.1HTCXBIUXFKSI@gmail.com>
Date: Tue, 21 Jan 2025 15:20:17 +1000
From: "Nicholas Piggin" <npiggin@...il.com>
To: "Paolo Bonzini" <pbonzini@...hat.com>, <linux-kernel@...r.kernel.org>,
<kvm@...r.kernel.org>
Cc: <seanjc@...gle.com>, <linuxppc-dev@...ts.ozlabs.org>,
<regressions@...ts.linux.dev>, "Christian Zigotzky"
<chzigotzky@...osoft.de>, <stable@...r.kernel.org>
Subject: Re: [PATCH 1/5] KVM: e500: always restore irqs
On Sun Jan 12, 2025 at 7:55 PM AEST, Paolo Bonzini wrote:
> If find_linux_pte fails, IRQs will not be restored. This is unlikely
> to happen in practice since it would have been reported as hanging
> hosts, but it should of course be fixed anyway.
>
> Cc: stable@...r.kernel.org
> Reported-by: Sean Christopherson <seanjc@...gle.com>
> Signed-off-by: Paolo Bonzini <pbonzini@...hat.com>
Reviewed-by: Nicholas Piggin <npiggin@...il.com>
> ---
> arch/powerpc/kvm/e500_mmu_host.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/arch/powerpc/kvm/e500_mmu_host.c b/arch/powerpc/kvm/e500_mmu_host.c
> index e5a145b578a4..6824e8139801 100644
> --- a/arch/powerpc/kvm/e500_mmu_host.c
> +++ b/arch/powerpc/kvm/e500_mmu_host.c
> @@ -479,7 +479,6 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
> if (pte_present(pte)) {
> wimg = (pte_val(pte) >> PTE_WIMGE_SHIFT) &
> MAS2_WIMGE_MASK;
> - local_irq_restore(flags);
> } else {
> local_irq_restore(flags);
> pr_err_ratelimited("%s: pte not present: gfn %lx,pfn %lx\n",
> @@ -488,8 +487,9 @@ static inline int kvmppc_e500_shadow_map(struct kvmppc_vcpu_e500 *vcpu_e500,
> goto out;
> }
> }
> + local_irq_restore(flags);
> +
> writable = kvmppc_e500_ref_setup(ref, gtlbe, pfn, wimg);
> -
> kvmppc_e500_setup_stlbe(&vcpu_e500->vcpu, gtlbe, tsize,
> ref, gvaddr, stlbe);
>
Powered by blists - more mailing lists