If arch-specific code generates a translation block of size 0, tb_gen_code() may generate a spurious exception.
Fix s390x (patch 1), ARM (patch 2) and xtensa (patch 3) and add an assertion in order to catch such situations earlier (patch 4). v1: https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02037.html v1 -> v2: Fix target/s390x instead of trying to tolerate tb->size == 0 in tb_gen_code(). v2: https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02101.html v2 -> v3: Split the common code change into a separate patch, add the ARM patch in order to fix https://gitlab.com/cohuck/qemu/-/jobs/1178409450 v3: https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02332.html v3 -> v4: Add the xtensa patch in order to fix https://gitlab.com/cohuck/qemu/-/jobs/1178409540 Ilya Leoshkevich (4): target/s390x: Fix translation exception on illegal instruction target/arm: Make sure that commpage's tb->size != 0 target/xtensa: Make sure that tb->size != 0 accel/tcg: Assert that tb->size != 0 after translation accel/tcg/translate-all.c | 1 + target/arm/translate.c | 1 + target/s390x/translate.c | 16 +++++++++++----- target/xtensa/translate.c | 3 +++ 4 files changed, 16 insertions(+), 5 deletions(-) -- 2.29.2