Thread (75 messages) 75 messages, 14 authors, 2022-02-25

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

From: Arnd Bergmann <arnd@arndb.de>
Date: 2022-02-17 07:52:52
Also in: linux-alpha, linux-api, linux-arch, linux-m68k, linux-mips, linux-mm, linux-riscv, linux-s390, linux-sh, linuxppc-dev, lkml, sparclinux

On Wed, Feb 16, 2022 at 2:13 PM Arnd Bergmann [off-list ref] 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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help