lkml.org 
[lkml]   [2022]   [Feb]   [18]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 13/18] uaccess: generalize access_ok()
    On Wed, Feb 16, 2022 at 2:17 PM Arnd Bergmann <arnd@kernel.org> wrote:
    > From: Arnd Bergmann <arnd@arndb.de>
    >
    > There are many different ways that access_ok() is defined across
    > architectures, but in the end, they all just compare against the
    > user_addr_max() value or they accept anything.
    >
    > Provide one definition that works for most architectures, checking
    > against TASK_SIZE_MAX for user processes or skipping the check inside
    > of uaccess_kernel() sections.
    >
    > For architectures without CONFIG_SET_FS(), this should be the fastest
    > check, as it comes down to a single comparison of a pointer against a
    > compile-time constant, while the architecture specific versions tend to
    > do something more complex for historic reasons or get something wrong.
    >
    > Type checking for __user annotations is handled inconsistently across
    > architectures, but this is easily simplified as well by using an inline
    > function that takes a 'const void __user *' argument. A handful of
    > callers need an extra __user annotation for this.
    >
    > Some architectures had trick to use 33-bit or 65-bit arithmetic on the
    > addresses to calculate the overflow, however this simpler version uses
    > fewer registers, which means it can produce better object code in the
    > end despite needing a second (statically predicted) branch.
    >
    > Reviewed-by: Christoph Hellwig <hch@lst.de>
    > Acked-by: Mark Rutland <mark.rutland@arm.com> [arm64, asm-generic]
    > Signed-off-by: Arnd Bergmann <arnd@arndb.de>

    > arch/m68k/Kconfig.cpu | 1 +
    > arch/m68k/include/asm/uaccess.h | 19 +--------

    Acked-by: Geert Uytterhoeven <geert@linux-m68k.org>

    Gr{oetje,eeting}s,

    Geert

    --
    Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

    In personal conversations with technical people, I call myself a hacker. But
    when I'm talking to journalists I just say "programmer" or something like that.
    -- Linus Torvalds

    \
     
     \ /
      Last update: 2022-02-18 10:05    [W:5.628 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site