Revision 21be74a9a59d1e4954ebb59dcbee0fda0b19de00 authored by Thomas Huth on 01 December 2022, 18:44:43 UTC, committed by Thomas Huth on 03 December 2022, 21:04:40 UTC
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>
1 parent 0f0a9e4
File | Mode | Size |
---|---|---|
block-dirty-bitmap.c | -rw-r--r-- | 38.0 KB |
block.c | -rw-r--r-- | 29.0 KB |
block.h | -rw-r--r-- | 993 bytes |
channel-block.c | -rw-r--r-- | 5.0 KB |
channel-block.h | -rw-r--r-- | 1.5 KB |
channel.c | -rw-r--r-- | 2.6 KB |
channel.h | -rw-r--r-- | 761 bytes |
colo-failover.c | -rw-r--r-- | 2.2 KB |
colo.c | -rw-r--r-- | 25.5 KB |
dirtyrate.c | -rw-r--r-- | 24.2 KB |
dirtyrate.h | -rw-r--r-- | 2.5 KB |
exec.c | -rw-r--r-- | 2.2 KB |
exec.h | -rw-r--r-- | 817 bytes |
fd.c | -rw-r--r-- | 2.0 KB |
fd.h | -rw-r--r-- | 699 bytes |
global_state.c | -rw-r--r-- | 3.7 KB |
meson.build | -rw-r--r-- | 790 bytes |
migration.c | -rw-r--r-- | 140.8 KB |
migration.h | -rw-r--r-- | 16.3 KB |
multifd-zlib.c | -rw-r--r-- | 8.5 KB |
multifd-zstd.c | -rw-r--r-- | 8.2 KB |
multifd.c | -rw-r--r-- | 36.5 KB |
multifd.h | -rw-r--r-- | 5.8 KB |
page_cache.c | -rw-r--r-- | 4.2 KB |
page_cache.h | -rw-r--r-- | 1.9 KB |
postcopy-ram.c | -rw-r--r-- | 52.9 KB |
postcopy-ram.h | -rw-r--r-- | 6.6 KB |
qemu-file.c | -rw-r--r-- | 23.1 KB |
qemu-file.h | -rw-r--r-- | 6.1 KB |
ram.c | -rw-r--r-- | 141.9 KB |
ram.h | -rw-r--r-- | 3.7 KB |
rdma.c | -rw-r--r-- | 127.7 KB |
rdma.h | -rw-r--r-- | 649 bytes |
savevm.c | -rw-r--r-- | 96.0 KB |
savevm.h | -rw-r--r-- | 2.8 KB |
socket.c | -rw-r--r-- | 6.3 KB |
socket.h | -rw-r--r-- | 927 bytes |
target.c | -rw-r--r-- | 601 bytes |
tls.c | -rw-r--r-- | 5.2 KB |
tls.h | -rw-r--r-- | 1.6 KB |
trace-events | -rw-r--r-- | 22.7 KB |
trace.h | -rw-r--r-- | 35 bytes |
vmstate-types.c | -rw-r--r-- | 22.3 KB |
vmstate.c | -rw-r--r-- | 16.9 KB |
xbzrle.c | -rw-r--r-- | 4.1 KB |
xbzrle.h | -rw-r--r-- | 517 bytes |
yank_functions.c | -rw-r--r-- | 1.7 KB |
yank_functions.h | -rw-r--r-- | 621 bytes |
Computing file changes ...