qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] tcg/tci: fix logic error when registering helpers via FFI
@ 2022-10-28  7:21 Icenowy Zheng
  2022-10-28  9:13 ` Alex Bennée
                   ` (2 more replies)
  0 siblings, 3 replies; 8+ messages in thread
From: Icenowy Zheng @ 2022-10-28  7:21 UTC (permalink / raw)
  To: Richard Henderson; +Cc: qemu-devel, Icenowy Zheng

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.

Signed-off-by: Icenowy Zheng <uwu@icenowy.me>
---
 tcg/tcg.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/tcg/tcg.c b/tcg/tcg.c
index 612a12f58f..adfaf61a32 100644
--- a/tcg/tcg.c
+++ b/tcg/tcg.c
@@ -619,6 +619,7 @@ static void tcg_context_init(unsigned max_cpus)
         gpointer hash = (gpointer)(uintptr_t)typemask;
         ffi_status status;
         int nargs;
+        int j;
 
         if (g_hash_table_lookup(ffi_table, hash)) {
             continue;
@@ -634,9 +635,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 (j = 0; j < nargs; ++j) {
+                int typecode = extract32(typemask, (j + 1) * 3, 3);
+                ca->args[j] = typecode_to_ffi[typecode];
             }
         }
 
-- 
2.37.1



^ permalink raw reply related	[flat|nested] 8+ messages in thread

end of thread, other threads:[~2022-10-31  0:30 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-10-28  7:21 [PATCH] tcg/tci: fix logic error when registering helpers via FFI Icenowy Zheng
2022-10-28  9:13 ` Alex Bennée
2022-10-28  9:15   ` Icenowy Zheng
2022-10-28  9:16 ` Philippe Mathieu-Daudé
2022-10-28 19:28 ` Richard Henderson
2022-10-29  0:44   ` Icenowy Zheng
2022-10-30 10:27     ` Peter Maydell
2022-10-30 23:27     ` Richard Henderson

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).