diff options
author | Paolo Bonzini <pbonzini@redhat.com> | 2024-06-18 08:53:19 +0200 |
---|---|---|
committer | Paolo Bonzini <pbonzini@redhat.com> | 2024-10-17 19:41:30 +0200 |
commit | e136648c5c95ee4ea233cccf999c07e065bef26d (patch) | |
tree | 08a7b91fc113892d1d8662ca0c06212c96fdddce /scripts/tracetool/backend/dtrace.py | |
parent | 943c742868c739c0b14fd996bad3adf744156fec (diff) | |
download | qemu-e136648c5c95ee4ea233cccf999c07e065bef26d.zip qemu-e136648c5c95ee4ea233cccf999c07e065bef26d.tar.gz qemu-e136648c5c95ee4ea233cccf999c07e065bef26d.tar.bz2 |
target/i386/tcg: Use DPL-level accesses for interrupts and call gates
Stack accesses should be explicit and use the privilege level of the
target stack. This ensures that SMAP is not applied when the target
stack is in ring 3.
This fixes a bug wherein i386/tcg assumed that an interrupt return, or a
far call using the CALL or JMP instruction, was always going from kernel
or user mode to kernel mode when using a call gate. This assumption is
violated if the call gate has a DPL that is greater than 0.
Analyzed-by: Robert R. Henry <rrh.henry@gmail.com>
Resolves: https://gitlab.com/qemu-project/qemu/-/issues/249
Reviewed-by: Richard Henderson <richard.henderson@linaro.org>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'scripts/tracetool/backend/dtrace.py')
0 files changed, 0 insertions, 0 deletions