[PATCH 04/14] x86: use more conventional access_ok() definition
Linus Torvalds
torvalds at linux-foundation.org
Tue Feb 15 07:01:05 AEDT 2022
On Mon, Feb 14, 2022 at 11:46 AM Arnd Bergmann <arnd at kernel.org> wrote:
>
> As Al pointed out, they turned out to be necessary on sparc64, but the only
> definitions are on sparc64 and x86, so it's possible that they serve a similar
> purpose here, in which case changing the limit from TASK_SIZE to
> TASK_SIZE_MAX is probably wrong as well.
x86-64 has always(*) used TASK_SIZE_MAX for access_ok(), and the
get_user() assembler implementation does the same.
I think any __range_not_ok() users that use TASK_SIZE are entirely
historical, and should be just fixed.
Linus
(*) And by "always" I mean "as far back as I bothered to go". In the
2.6.12 git import, we had
#define USER_DS MAKE_MM_SEG(PAGE_OFFSET)
so the user access limit was actually not really TASK_SIZE_MAX at all,
but the beginning of the kernel mapping, which on x86-64 is much much
higher.
More information about the Linuxppc-dev
mailing list