qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v3 08/21] bsd-user: Tidy VERIFY_READ/VERIFY_WRITE


From: Warner Losh
Subject: Re: [PATCH v3 08/21] bsd-user: Tidy VERIFY_READ/VERIFY_WRITE
Date: Sat, 16 Jan 2021 09:28:47 -0700



On Fri, Jan 15, 2021 at 3:56 PM Richard Henderson <richard.henderson@linaro.org> wrote:
These constants are only ever used with access_ok, and friends.
Rather than translating them to PAGE_* bits, let them equal
the PAGE_* bits to begin.

Reviewed-by: Peter Maydell <peter.maydell@linaro.org>
Signed-off-by: Richard Henderson <richard.henderson@linaro.org>

This looks OK to me.

Reviewed-by: Warner Losh <imp@bsdimp.com>
 
---
 bsd-user/qemu.h | 9 ++++-----
 1 file changed, 4 insertions(+), 5 deletions(-)

diff --git a/bsd-user/qemu.h b/bsd-user/qemu.h
index f8bb1e5459..4076adabd0 100644
--- a/bsd-user/qemu.h
+++ b/bsd-user/qemu.h
@@ -218,13 +218,12 @@ extern unsigned long x86_stack_size;

 /* user access */

-#define VERIFY_READ 0
-#define VERIFY_WRITE 1 /* implies read access */
+#define VERIFY_READ  PAGE_READ
+#define VERIFY_WRITE (PAGE_READ | PAGE_WRITE)

-static inline int access_ok(int type, abi_ulong addr, abi_ulong size)
+static inline bool access_ok(int type, abi_ulong addr, abi_ulong size)
 {
-    return page_check_range((target_ulong)addr, size,
-                            (type == VERIFY_READ) ? PAGE_READ : (PAGE_READ | PAGE_WRITE)) == 0;
+    return page_check_range((target_ulong)addr, size, type) == 0;
 }

 /* NOTE __get_user and __put_user use host pointers and don't check access. */
--


 

reply via email to

[Prev in Thread] Current Thread [Next in Thread]