All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH v5 0/4] accel/tcg: Make sure that tb->size != 0 after translation
@ 2021-04-16 15:49 Ilya Leoshkevich
  2021-04-16 15:49 ` [PATCH v5 1/4] target/s390x: Fix translation exception on illegal instruction Ilya Leoshkevich
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Ilya Leoshkevich @ 2021-04-16 15:49 UTC (permalink / raw)
  To: Cornelia Huck, Thomas Huth, Richard Henderson, David Hildenbrand,
	Paolo Bonzini, Peter Maydell, Max Filippov
  Cc: Christian Borntraeger, qemu-s390x, qemu-arm, qemu-devel,
	Ilya Leoshkevich

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

v4: https://lists.nongnu.org/archive/html/qemu-devel/2021-04/msg02592.html
v4 -> v5: Handle thumb: the following C code triggers the assertion:
          typedef void (*funcptr)(void);
          int main() { funcptr f = (funcptr)0xffff0001; f(); }

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    |  2 ++
 target/s390x/translate.c  | 16 +++++++++++-----
 target/xtensa/translate.c |  3 +++
 4 files changed, 17 insertions(+), 5 deletions(-)

-- 
2.29.2



^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2021-04-26 10:03 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-16 15:49 [PATCH v5 0/4] accel/tcg: Make sure that tb->size != 0 after translation Ilya Leoshkevich
2021-04-16 15:49 ` [PATCH v5 1/4] target/s390x: Fix translation exception on illegal instruction Ilya Leoshkevich
2021-04-16 15:49 ` [PATCH v5 2/4] target/arm: Make sure that commpage's tb->size != 0 Ilya Leoshkevich
2021-04-23 17:49   ` Richard Henderson
2021-04-16 15:49 ` [PATCH v5 3/4] target/xtensa: Make sure that " Ilya Leoshkevich
2021-04-16 15:49 ` [PATCH v5 4/4] accel/tcg: Assert that tb->size != 0 after translation Ilya Leoshkevich
2021-04-23 10:31 ` [PATCH v5 0/4] accel/tcg: Make sure " Cornelia Huck
2021-04-23 17:50   ` Richard Henderson
2021-04-26 10:00     ` Cornelia Huck
2021-04-26 10:01 ` Cornelia Huck

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.