mirror of
https://github.com/yuzu-emu/unicorn.git
synced 2024-12-23 05:05:36 +00:00
exec: Add missing rcu_read_unlock
rcu_read_unlock was not called if the address_space_access_valid result is negative. This caused (at least) a problem when qemu on PPC/E500+TAP failed to terminate properly and instead got stuck in a deadlock. Backports commit 662a97d74f9b34cafe9aeb6d96620a97d768a1fa from qemu
This commit is contained in:
parent
488b6cc82b
commit
337f57dd2c
|
@ -2244,6 +2244,8 @@ bool address_space_access_valid(AddressSpace *as, hwaddr addr, int len, bool is_
|
||||||
if (!memory_access_is_direct(mr, is_write)) {
|
if (!memory_access_is_direct(mr, is_write)) {
|
||||||
l = memory_access_size(mr, l, addr);
|
l = memory_access_size(mr, l, addr);
|
||||||
if (!memory_region_access_valid(mr, xlat, l, is_write)) {
|
if (!memory_region_access_valid(mr, xlat, l, is_write)) {
|
||||||
|
// Unicorn: commented out
|
||||||
|
//rcu_read_unlock();
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue