diff options
author | Richard Henderson | 2021-02-12 19:48:45 +0100 |
---|---|---|
committer | Peter Maydell | 2021-02-16 12:04:53 +0100 |
commit | 114556c533acdaf4c2cdada245890572985b2912 (patch) | |
tree | 0befaaccf7e9d6f73a58186de0296e35b922f6ce | |
parent | linux-user: Explicitly untag memory management syscalls (diff) | |
download | qemu-114556c533acdaf4c2cdada245890572985b2912.tar.gz qemu-114556c533acdaf4c2cdada245890572985b2912.tar.xz qemu-114556c533acdaf4c2cdada245890572985b2912.zip |
linux-user: Use guest_range_valid in access_ok
We're currently open-coding the range check in access_ok;
use guest_range_valid when size != 0.
Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>
Message-id: 20210212184902.1251044-15-richard.henderson@linaro.org
Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
-rw-r--r-- | linux-user/qemu.h | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/linux-user/qemu.h b/linux-user/qemu.h index 9fbc5edc4b..ba122a7903 100644 --- a/linux-user/qemu.h +++ b/linux-user/qemu.h @@ -493,12 +493,9 @@ extern unsigned long guest_stack_size; static inline bool access_ok(int type, abi_ulong addr, abi_ulong size) { - if (!guest_addr_valid(addr)) { - return false; - } - if (size != 0 && - (addr + size - 1 < addr || - !guest_addr_valid(addr + size - 1))) { + if (size == 0 + ? !guest_addr_valid(addr) + : !guest_range_valid(addr, size)) { return false; } return page_check_range((target_ulong)addr, size, type) == 0; |