Re: [PATCH v2 13/18] uaccess: generalize access_ok()

From: Arnd Bergmann
Date: Thu Feb 17 2022 - 02:52:52 EST


On Wed, Feb 16, 2022 at 2:13 PM Arnd Bergmann <arnd@xxxxxxxxxx> wrote:

> + * limit and catch all possible overflows.
> + * On architectures with separate user address space (m68k, s390, parisc,
> + * sparc64) or those without an MMU, this should always return true.
...
> +static inline int __access_ok(const void __user *ptr, unsigned long size)
> +{
> + unsigned long limit = user_addr_max();
> + unsigned long addr = (unsigned long)ptr;
> +
> + if (IS_ENABLED(CONFIG_ALTERNATE_USER_ADDRESS_SPACE))
> + return true;

I noticed that I'm missing the check for !CONFIG_MMU here, despite
mentioning that in the comment above it. I've added it now.

Arnd