[RFC 0/4] Switching ARC to optimized generic strncpy_from_user

From: Vineet Gupta
Date: Tue Jan 14 2020 - 15:09:09 EST


Hi,

This came up when trying to move ARC over to generic word-at-a-time
interface.

- 1/4 is a trivial fix (and needed for ARC switch)
- 2/4 is mucking with internals hence the RFC. I could very likely be
overlooking some possible DoS / exploit issues and apologies in advance
if thats the case but I felt like sharing it anyways to see what
others think.
- 3/4, 4/4 are ARC changes to remove the existing ARC version and
switch to generic (needs 1/4).

Thx,
-Vineet

Vineet Gupta (4):
asm-generic/uaccess: don't define inline functions if noinline lib/*
in use
lib/strncpy_from_user: Remove redundant user space pointer range check
ARC: uaccess: remove noinline variants of __strncpy_from_user() and
friends
ARC: uaccess: use optimized generic __strnlen_user/__strncpy_from_user

arch/arc/Kconfig | 2 +
arch/arc/include/asm/Kbuild | 1 -
arch/arc/include/asm/uaccess.h | 87 ++-------------------------
arch/arc/include/asm/word-at-a-time.h | 49 +++++++++++++++
arch/arc/mm/extable.c | 23 -------
include/asm-generic/uaccess.h | 4 ++
lib/strncpy_from_user.c | 36 ++++-------
lib/strnlen_user.c | 28 +++------
8 files changed, 79 insertions(+), 151 deletions(-)
create mode 100644 arch/arc/include/asm/word-at-a-time.h

--
2.20.1