From 255d110496e0851bfc2a3b9797303614b3445859 Mon Sep 17 00:00:00 2001 From: Matt Borgerson Date: Mon, 6 Jan 2025 04:08:41 -0700 Subject: [PATCH] accel/tcg: Lock tb page when recycling for link --- accel/tcg/translate-all.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/accel/tcg/translate-all.c b/accel/tcg/translate-all.c index d1e772630c..d0c0ce7321 100644 --- a/accel/tcg/translate-all.c +++ b/accel/tcg/translate-all.c @@ -326,6 +326,12 @@ TranslationBlock *tb_gen_code(CPUState *cpu, tb->flags, tb->cs_base, tb->cflags); bool removed = qht_remove(&tb_ctx.inv_htable, tb, h); g_assert(removed); + if (phys_pc != -1) { + tb_lock_page0(phys_pc); + if (tb->page_addr[1] != -1) { + tb_lock_page1(phys_pc, tb->page_addr[1]); + } + } recycled = true; goto recycle_tb; }