Re: [PATCH 09/14] m68k: drop custom __access_ok()

From: Al Viro
Date: Mon Feb 14 2022 - 19:37:48 EST


On Mon, Feb 14, 2022 at 05:34:47PM +0100, Arnd Bergmann wrote:
> From: Arnd Bergmann <arnd@xxxxxxxx>
>
> While most m68k platforms use separate address spaces for user
> and kernel space, at least coldfire does not, and the other
> ones have a TASK_SIZE that is less than the entire 4GB address
> range.
>
> Using the generic implementation of __access_ok() stops coldfire
> user space from trivially accessing kernel memory, and is probably
> the right thing elsewhere for consistency as well.

Perhaps simply wrap that sucker into #ifdef CONFIG_CPU_HAS_ADDRESS_SPACES
(and trim the comment down to "coldfire and 68000 will pick generic
variant")?

> Signed-off-by: Arnd Bergmann <arnd@xxxxxxxx>
> ---
> arch/m68k/include/asm/uaccess.h | 13 -------------
> 1 file changed, 13 deletions(-)
>
> diff --git a/arch/m68k/include/asm/uaccess.h b/arch/m68k/include/asm/uaccess.h
> index d6bb5720365a..64914872a5c9 100644
> --- a/arch/m68k/include/asm/uaccess.h
> +++ b/arch/m68k/include/asm/uaccess.h
> @@ -10,19 +10,6 @@
> #include <linux/compiler.h>
> #include <linux/types.h>
> #include <asm/extable.h>
> -
> -/* We let the MMU do all checking */
> -static inline int __access_ok(const void __user *addr,
> - unsigned long size)
> -{
> - /*
> - * XXX: for !CONFIG_CPU_HAS_ADDRESS_SPACES this really needs to check
> - * for TASK_SIZE!
> - * Removing this helper is probably sufficient.
> - */
> - return 1;
> -}
> -#define __access_ok __access_ok
> #include <asm-generic/access_ok.h>
>
> /*
> --
> 2.29.2
>