[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 04/11] tcg/tci: fix logic error when registering helpers via FFI
From: |
Richard Henderson |
Subject: |
[PULL 04/11] tcg/tci: fix logic error when registering helpers via FFI |
Date: |
Mon, 31 Oct 2022 16:39:41 +1100 |
From: Icenowy Zheng <uwu@icenowy.me>
When registering helpers via FFI for TCI, the inner loop that iterates
parameters of the helper reuses (and thus pollutes) the same variable
used by the outer loop that iterates all helpers, thus made some helpers
unregistered.
Fix this logic error by using a dedicated temporary variable for the
inner loop.
Fixes: 22f15579fa ("tcg: Build ffi data structures for helpers")
Reviewed-by: Alex Bennée <alex.bennee@linaro.org>
Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>
Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
Message-Id: <20221028072145.1593205-1-uwu@icenowy.me>
[rth: Move declaration of j to the for loop itself]
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
---
tcg/tcg.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/tcg/tcg.c b/tcg/tcg.c
index c9e664ee31..b6c46b7e25 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -634,9 +634,9 @@ static void tcg_context_init(unsigned max_cpus)
if (nargs != 0) {
ca->cif.arg_types = ca->args;
- for (i = 0; i < nargs; ++i) {
- int typecode = extract32(typemask, (i + 1) * 3, 3);
- ca->args[i] = typecode_to_ffi[typecode];
+ for (int j = 0; j < nargs; ++j) {
+ int typecode = extract32(typemask, (j + 1) * 3, 3);
+ ca->args[j] = typecode_to_ffi[typecode];
}
}
--
2.34.1
- [PULL 00/11] tcg patch queue, Richard Henderson, 2022/10/31
- [PULL 01/11] tcg/sparc: Remove support for sparc32plus, Richard Henderson, 2022/10/31
- [PULL 02/11] tcg/sparc64: Rename from tcg/sparc, Richard Henderson, 2022/10/31
- [PULL 03/11] tcg/sparc64: Remove sparc32plus constraints, Richard Henderson, 2022/10/31
- [PULL 04/11] tcg/tci: fix logic error when registering helpers via FFI,
Richard Henderson <=
- [PULL 05/11] accel/tcg: Introduce cpu_unwind_state_data, Richard Henderson, 2022/10/31
- [PULL 06/11] target/i386: Use cpu_unwind_state_data for tpr access, Richard Henderson, 2022/10/31
- [PULL 07/11] target/openrisc: Always exit after mtspr npc, Richard Henderson, 2022/10/31
- [PULL 08/11] target/openrisc: Use cpu_unwind_state_data for mfspr, Richard Henderson, 2022/10/31
- [PULL 09/11] accel/tcg: Remove will_exit argument from cpu_restore_state, Richard Henderson, 2022/10/31
- [PULL 10/11] accel/tcg: Remove reset_icount argument from cpu_restore_state_from_tb, Richard Henderson, 2022/10/31
- [PULL 11/11] target/i386: Expand eflags updates inline, Richard Henderson, 2022/10/31
- Re: [PULL 00/11] tcg patch queue, Stefan Hajnoczi, 2022/10/31