[PATCH] KVM: riscv: Fix infinite loop in NACL hfence entry allocation
Anup Patel
anup at brainfault.org
Sat Aug 1 01:58:13 PDT 2026
On Thu, Jul 16, 2026 at 1:08 PM Zongmin Zhou <min_halo at 163.com> wrote:
>
> From: Zongmin Zhou <zhouzongmin at kylinos.cn>
>
> try_count is initialized to 5 but never decremented in the retry path,
> making the `if (try_count)` check always true. If all NACL shared memory
> hfence entries remain in the pending state after sync, the function loops
> forever, causing a soft lockup. Decrement try_count on each retry so the
> fallback warning and return become reachable.
>
> Fixes: d466c19cead5 ("RISC-V: KVM: Add common nested acceleration support")
> Signed-off-by: Zongmin Zhou <zhouzongmin at kylinos.cn>
LGTM.
Reviewed-by: Anup Patel <anup at brainfault.org>
Queued this patch for Linux-7.3
Thanks,
Anup
> ---
> arch/riscv/kvm/nacl.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kvm/nacl.c b/arch/riscv/kvm/nacl.c
> index 6f9f8963e9dd..9aff03c4f667 100644
> --- a/arch/riscv/kvm/nacl.c
> +++ b/arch/riscv/kvm/nacl.c
> @@ -33,7 +33,7 @@ void __kvm_riscv_nacl_hfence(void *shmem,
> }
>
> if (ent < 0) {
> - if (try_count) {
> + if (try_count--) {
> nacl_sync_hfence(-1UL);
> goto again;
> } else {
> --
> 2.34.1
>
>
> No virus found
> Checked by Hillstone Network AntiVirus
>
More information about the kvm-riscv
mailing list