diff options
author | Leandro Lupori | 2022-10-28 20:36:17 +0200 |
---|---|---|
committer | Daniel Henrique Barboza | 2022-10-29 11:34:52 +0200 |
commit | fb22d743b93b49b73930aff40d3ba9d252f81a56 (patch) | |
tree | e6ea55504519b9d0aa62378aeade62bd6327a0e2 /scripts/check_sparse.py | |
parent | hw/ppc/e500: Implement pflash handling (diff) | |
download | qemu-fb22d743b93b49b73930aff40d3ba9d252f81a56.tar.gz qemu-fb22d743b93b49b73930aff40d3ba9d252f81a56.tar.xz qemu-fb22d743b93b49b73930aff40d3ba9d252f81a56.zip |
target/ppc: Fix regression in Radix MMU
Commit 47e83d9107 ended up unintentionally changing the control flow
of ppc_radix64_process_scoped_xlate(). When guest_visible is false,
it must not raise an exception, even if the radix configuration is
not valid.
This regression prevented Linux boot in a nested environment with
L1 using TCG and emulating KVM (cap-nested-hv=on) and L2 using
KVM. L2 would hang on Linux's futex_init(), when it tested how a
futex_atomic_cmpxchg_inatomic() handled a fault, because L1 would
start a loop of trying to perform partition scoped translations
and raising exceptions.
Fixes: 47e83d9107 ("target/ppc: Improve Radix xlate level validation")
Reported-by: Victor Colombo <victor.colombo@eldorado.org.br>
Signed-off-by: Leandro Lupori <leandro.lupori@eldorado.org.br>
Tested-by: VĂctor Colombo <victor.colombo@eldorado.org.br>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Message-Id: <20221028183617.121786-1-leandro.lupori@eldorado.org.br>
[danielhb: use %"PRIu64" to print 'nls']
Signed-off-by: Daniel Henrique Barboza <danielhb413@gmail.com>
Diffstat (limited to 'scripts/check_sparse.py')
0 files changed, 0 insertions, 0 deletions