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>
diff --git a/linux-user/qemu.h b/linux-user/qemu.h
index 9fbc5ed..ba122a7 100644
--- a/linux-user/qemu.h
+++ b/linux-user/qemu.h
@@ -493,12 +493,9 @@
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;