Commit 9873bef556 for qemu.org

commit 9873bef5563cffd8b48ff38692a3715f4c960425
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date:   Wed Apr 15 23:14:55 2026 +0200

    cocci: Do not initialize variable used by RAMBLOCK_FOREACH* macro

    The RAMBLOCK_FOREACH_MIGRATABLE() macro, defined in
    migration/ram.h, ends up calling QLIST_FOREACH_RCU()
    which always assigns its iterator variable when entering
    the loop. Remove the pointless and possibly misleading
    assignment.

    Mechanical patch using the following coccinelle spatch:

      @@
      type T;
      identifier e;
      iterator FOREACH_MACRO =~ ".*_FOREACH.*";
      statement S;
      @@
      -    T *e = ...;
      +    T *e;
           ... when != e
           FOREACH_MACRO(e, ...) S

    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>
    Message-Id: <20260415215539.92629-6-philmd@linaro.org>

diff --git a/migration/dirtyrate.c b/migration/dirtyrate.c
index 58f0467062..b360f49efe 100644
--- a/migration/dirtyrate.c
+++ b/migration/dirtyrate.c
@@ -485,7 +485,7 @@ static bool record_ramblock_hash_info(struct RamblockDirtyInfo **block_dinfo,
 {
     struct RamblockDirtyInfo *info = NULL;
     struct RamblockDirtyInfo *dinfo = NULL;
-    RAMBlock *block = NULL;
+    RAMBlock *block;
     int total_count = 0;
     int index = 0;
     bool ret = false;
@@ -568,7 +568,7 @@ static bool compare_page_hash_info(struct RamblockDirtyInfo *info,
                                   int block_count)
 {
     struct RamblockDirtyInfo *block_dinfo = NULL;
-    RAMBlock *block = NULL;
+    RAMBlock *block;

     RAMBLOCK_FOREACH_MIGRATABLE(block) {
         if (skip_sample_ramblock(block)) {