Message ID | 20210115224645.1196742-9-richard.henderson@linaro.org |
---|---|
State | New |
Headers | show |
Series | target-arm: Implement ARMv8.5-MemTag, user mode | expand |
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. */ > -- >
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. */