xemu/target/s390x/tcg
Thomas Huth 21be74a9a5 target/s390x/tcg: Fix and improve the SACF instruction
The SET ADDRESS SPACE CONTROL FAST instruction is not privileged, it can be
used from problem space, too. Just the switching to the home address space
is privileged and should still generate a privilege exception. This bug is
e.g. causing programs like Java that use the "getcpu" vdso kernel function
to crash (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=990417#26 ).

While we're at it, also check if DAT is not enabled. In that case the
instruction is supposed to generate a special operation exception.

Resolves: https://gitlab.com/qemu-project/qemu/-/issues/655
Message-Id: <20221201184443.136355-1-thuth@redhat.com>
Reviewed-by: Ilya Leoshkevich <iii@linux.ibm.com>
Reviewed-by: David Hildenbrand <david@redhat.com>
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Thomas Huth <thuth@redhat.com>
2022-12-03 22:04:40 +01:00
..
cc_helper.c target/s390x/tcg: Fix and improve the SACF instruction 2022-12-03 22:04:40 +01:00
crypto_helper.c target/s390x: support PRNO_TRNG instruction 2022-09-26 17:23:11 +02:00
excp_helper.c s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
fpu_helper.c s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
insn-data.h.inc target/s390x/tcg: Fix and improve the SACF instruction 2022-12-03 22:04:40 +01:00
insn-format.h.inc target/s390x: Rename insn-data/format.def -> insn-data/format.h.inc 2022-11-05 20:35:45 +01:00
int_helper.c target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
mem_helper.c accel/tcg: Suppress auto-invalidate in probe_access_internal 2022-10-03 20:53:30 -07:00
meson.build target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
misc_helper.c s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
s390-tod.h target/s390x: start moving TCG-only code to tcg/ 2021-07-07 14:01:56 +02:00
tcg_s390x.h compiler.h: replace QEMU_NORETURN with G_NORETURN 2022-04-21 17:03:51 +04:00
translate.c s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
translate_vx.c.inc s390x: Fix spelling errors 2022-11-16 10:15:26 +01:00
vec.h Replace config-time define HOST_WORDS_BIGENDIAN 2022-04-06 10:50:37 +02:00
vec_fpu_helper.c target/s390x: fix handling of zeroes in vfmin/vfmax 2022-07-19 12:49:56 +02:00
vec_helper.c target/s390x: Fix writeback to v1 in helper_vstl 2022-05-04 08:47:19 +02:00
vec_int_helper.c target/s390x: vxeh2: Update for changes to vector shifts 2022-05-04 08:47:19 +02:00
vec_string_helper.c target/s390x: vxeh2: vector string search 2022-05-04 08:47:19 +02:00