From e02a44d575158f46b05ba5e1bac463da2e5a1822 Mon Sep 17 00:00:00 2001 From: guping Date: Thu, 21 Aug 2025 06:08:28 +0000 Subject: [PATCH] tcg: Reset data_gen_ptr correctly cherry-pick from fbe5afdd30cdf428ee3f65d9bb8f9fdbbe4387bf This pointer needs to be reset after overflow just like code_buf and code_ptr. Cc: qemu-stable@nongnu.org Fixes: 57a269469db ("tcg: Infrastructure for managing constant pools") Acked-by: Alistair Francis Reviewed-by: Pierrick Bouvier Reviewed-by: LIU Zhiwei Signed-off-by: Richard Henderson (cherry picked from commit a7cfd751fb269de4a93bf1658cb13911c7ac77cc) Signed-off-by: Michael Tokarev Signed-off-by: guping --- tcg/tcg.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tcg/tcg.c b/tcg/tcg.c index 61fcf8597d..d4616b81e0 100644 --- a/tcg/tcg.c +++ b/tcg/tcg.c @@ -1428,7 +1428,6 @@ TranslationBlock *tcg_tb_alloc(TCGContext *s) goto retry; } qatomic_set(&s->code_gen_ptr, next); - s->data_gen_ptr = NULL; return tb; } @@ -6126,6 +6125,7 @@ int tcg_gen_code(TCGContext *s, TranslationBlock *tb, uint64_t pc_start) */ s->code_buf = tcg_splitwx_to_rw(tb->tc.ptr); s->code_ptr = s->code_buf; + s->data_gen_ptr = NULL; #ifdef TCG_TARGET_NEED_LDST_LABELS QSIMPLEQ_INIT(&s->ldst_labels); -- Gitee