On 2018-12-10 19:28, Paolo Bonzini wrote: > The new definition of QTAILQ does not require passing the headname, > remove it.
Hi Paolo, when running current QEMU master branch with valgrind, I get "Conditional jump or move depends on uninitialised value" errors. I've bisected it to your patch series here. Everything is still fine and calm with f481ee2d5e3d77c12a4c9a7756b8c2612aad84c6 ("qemu/queue.h: typedef QTAILQ heads"), but starting with commit eae3eb3e185028d6e862db747e3b7397600d6762 ("qemu/queue.h: simplify reverse access to QTAILQ"), I now get: ==14580== Thread 3: ==14580== Conditional jump or move depends on uninitialised value(s) ==14580== at 0x40C267: tcg_reg_alloc (tcg.c:3123) ==14580== by 0x40F8FB: tcg_reg_alloc_op (tcg.c:3506) ==14580== by 0x40F8FB: tcg_gen_code (tcg.c:3948) ==14580== by 0x47FAFF: tb_gen_code (translate-all.c:1748) ==14580== by 0x47E153: tb_find (cpu-exec.c:404) ==14580== by 0x47E153: cpu_exec (cpu-exec.c:724) ==14580== by 0x43D981: tcg_cpu_exec (cpus.c:1429) ==14580== by 0x43FB4F: qemu_tcg_cpu_thread_fn (cpus.c:1733) ==14580== by 0x879075: qemu_thread_start (qemu-thread-posix.c:502) ==14580== by 0xB528DD4: start_thread (in /usr/lib64/libpthread-2.17.so) ==14580== by 0xB83BB3C: clone (in /usr/lib64/libc-2.17.so) Unfortunately, the commits in between do not compile, so I can not determine the exact commit that introduced the problem, but it definitely seems to happen due to your queue rework. Could you please have a look? Thanks, Thomas