]> git.ipfire.org Git - thirdparty/qemu.git/commit
target/s390x: Fix relative long instructions with large offsets
authorIlya Leoshkevich <iii@linux.ibm.com>
Tue, 4 Jul 2023 08:12:31 +0000 (10:12 +0200)
committerThomas Huth <thuth@redhat.com>
Mon, 10 Jul 2023 13:34:24 +0000 (15:34 +0200)
commit349372ff9e3e7c047e258383f061a8617f66adc3
treefd45a5d922c27eaa430bd23e952a82677c42b1da
parentb0ef81062d2404ccef0289b1cc6e70244901c9be
target/s390x: Fix relative long instructions with large offsets

The expression "imm * 2" in gen_ri2() can wrap around if imm is large
enough.

Fix by casting imm to int64_t, like it's done in disas_jdest().

Fixes: e8ecdfeb30f0 ("Fix EXECUTE of relative branches")
Signed-off-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Message-Id: <20230704081506.276055-8-iii@linux.ibm.com>
Signed-off-by: Thomas Huth <thuth@redhat.com>
target/s390x/tcg/translate.c