Commit 7ed514fbe4 for qemu.org

commit 7ed514fbe404a07d773ad7b335b83251839595e3
Author: Philippe Mathieu-Daudé <philmd@linaro.org>
Date:   Fri Aug 22 13:42:41 2025 +0200

    cpus: Access CPUState::thread_kicked atomically

    cpus_kick_thread() is called via cpu_exit() -> qemu_cpu_kick(),
    and also via gdb_syscall_handling(). Access the CPUState field
    using atomic accesses. See commit 8ac2ca02744 ("accel: use atomic
    accesses for exit_request") for rationale.

    Signed-off-by: Philippe Mathieu-Daudé <philmd@linaro.org>
    Reviewed-by: Manos Pitsidianakis <manos.pitsidianakis@linaro.org>
    Message-Id: <20250925025520.71805-3-philmd@linaro.org>

diff --git a/system/cpus.c b/system/cpus.c
index aa7bfcf56e..74f5a5bd4e 100644
--- a/system/cpus.c
+++ b/system/cpus.c
@@ -480,10 +480,10 @@ void qemu_process_cpu_events(CPUState *cpu)

 void cpus_kick_thread(CPUState *cpu)
 {
-    if (cpu->thread_kicked) {
+    if (qatomic_read(&cpu->thread_kicked)) {
         return;
     }
-    cpu->thread_kicked = true;
+    qatomic_set(&cpu->thread_kicked, true);

 #ifndef _WIN32
     int err = pthread_kill(cpu->thread->thread, SIG_IPI);