qemu/accel/tcg
Richard Henderson 3e55f8282a accel/tcg: Properly unlink a TB linked to itself
When we remove dest from orig's links, we lose the link
that we rely on later to reset links.  This can lead to
failure to release from spinlock with self-modifying code.

Cc: qemu-stable@nongnu.org
Reported-by: 李威威 <liweiwei@kubuds.cn>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Reviewed-by: Anton Johansson <anjo@rev.ng>
Tested-by: Anton Johansson <anjo@rev.ng>
(cherry picked from commit 03fe665980)
Signed-off-by: Michael Tokarev <mjt@tls.msk.ru>
2025-09-26 09:59:25 +03:00
..
atomic_common.c.inc plugins: save value during memory accesses 2024-09-19 15:58:01 +01:00
atomic_template.h plugins: save value during memory accesses 2024-09-19 15:58:01 +01:00
cpu-exec-common.c accel: Forward-declare AccelOpsClass in 'qemu/typedefs.h' 2025-03-06 15:46:18 +01:00
cpu-exec.c accel: Forward-declare AccelOpsClass in 'qemu/typedefs.h' 2025-03-06 15:46:18 +01:00
cputlb.c exec: Declare tlb_hit*() in 'exec/cputlb.h' 2025-03-08 07:56:14 -08:00
icount-common.c accel/tcg: Restrict 'icount_align_option' global to TCG 2025-03-06 15:46:17 +01:00
internal-common.h accel/tcg: Compile watchpoint.c once 2025-03-08 07:55:50 -08:00
internal-target.h tcg: Split out tcg-target-mo.h 2025-01-16 20:57:16 -08:00
ldst_atomicity.c.inc accel/tcg: add tracepoints for cpu_loop_exit_atomic 2024-10-24 09:56:26 +01:00
ldst_common.c.inc plugins: save value during memory accesses 2024-09-19 15:58:01 +01:00
meson.build accel/tcg: Build tcg-runtime-gvec.c once 2025-03-08 10:06:48 -08:00
monitor.c accel: Forward-declare AccelOpsClass in 'qemu/typedefs.h' 2025-03-06 15:46:18 +01:00
plugin-gen.c plugins: optimize cpu_index code generation 2024-12-24 07:32:50 -08:00
tb-context.h tcg: Move tb_phys_invalidate_count to tb_ctx 2021-07-09 09:38:33 -07:00
tb-hash.h accel/tcg: Include missing 'exec/translation-block.h' header 2024-12-20 17:44:57 +01:00
tb-internal.h accel/tcg: Restrict GETPC_ADJ to 'tb-internal.h' 2025-03-08 08:05:40 -08:00
tb-jmp-cache.h tcg: remove CPU* types from typedefs.h 2024-05-03 15:47:48 +02:00
tb-maint.c accel/tcg: Properly unlink a TB linked to itself 2025-09-26 09:59:25 +03:00
tcg-accel-ops-icount.c accel/tcg: Build tcg-accel-ops-icount.c once 2025-03-08 07:56:43 -08:00
tcg-accel-ops-icount.h accel/tcg/tcg-accel-ops-rr: ensure fairness with icount 2023-05-11 09:53:41 +01:00
tcg-accel-ops-mttcg.c accel/tcg: Build tcg-accel-ops-mttcg.c once 2025-03-08 07:56:43 -08:00
tcg-accel-ops-mttcg.h Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
tcg-accel-ops-rr.c accel/tcg: Build tcg-accel-ops-rr.c once 2025-03-08 07:56:43 -08:00
tcg-accel-ops-rr.h Clean up header guards that don't match their file name 2022-05-11 16:49:06 +02:00
tcg-accel-ops.c accel: Prefer cached CpuClass over CPU_GET_CLASS() macro 2025-03-09 17:00:47 +01:00
tcg-accel-ops.h include: Rename sysemu/ -> system/ 2024-12-20 17:44:56 +01:00
tcg-all.c tcg: Remove TCG_OVERSIZED_GUEST 2025-02-18 07:33:42 -08:00
tcg-runtime-gvec.c accel/tcg: Build tcg-runtime-gvec.c once 2025-03-08 10:06:48 -08:00
tcg-runtime.c accel/tcg: Build tcg-runtime.c once 2025-03-08 10:06:31 -08:00
tcg-runtime.h tcg: Add gvec compare with immediate and scalar operand 2023-09-16 14:57:15 +00:00
trace-events accel/tcg: add tracepoints for cpu_loop_exit_atomic 2024-10-24 09:56:26 +01:00
trace.h trace: switch position of headers to what Meson requires 2020-08-21 06:18:24 -04:00
translate-all.c accel/tcg: Don't use TARGET_LONG_BITS in decode_sleb128 2025-05-07 16:42:10 +03:00
translator.c accel/tcg: Un-inline translator_is_same_page() 2024-12-20 17:44:57 +01:00
user-exec-stub.c accel/tcg: Restrict tlb_init() / destroy() to TCG 2025-03-06 15:46:17 +01:00
user-exec.c accel/tcg: Move cpu_memory_rw_debug() user implementation to user-exec.c 2025-03-06 15:46:18 +01:00
vcpu-state.h licenses: Remove SPDX tags not being license identifier for Linaro 2025-01-30 13:01:22 +03:00
watchpoint.c accel: Prefer cached CpuClass over CPU_GET_CLASS() macro 2025-03-09 17:00:47 +01:00