From: Arnd Bergmann <arnd@xxxxxxxx> I had run into some regressions for the previous version of this series, the new version is based on v5.14-rc2 instead. These two functions appear to be unnecessarily different between architectures, and the asm-generic version is a bit questionable, even for NOMMU architectures. Clean this up to just use the generic library version for anything that uses the generic version today. I've expanded on the patch descriptions a little, as suggested by Christoph Hellwig, but I suspect a more detailed review would uncover additional problems with the custom versions that are getting removed. I ended up adding patches for csky and microblaze as they had the same implementation that I removed elsewhere, these are now gone as well. If I hear no objections from architecture maintainers or new build regressions, I'll queue these up in the asm-generic tree for 5.15. Arnd Link: https://lore.kernel.org/linux-arch/20210515101803.924427-1-arnd@xxxxxxxxxx/ Arnd Bergmann (9): asm-generic/uaccess.h: remove __strncpy_from_user/__strnlen_user h8300: remove stale strncpy_from_user hexagon: use generic strncpy/strnlen from_user arc: use generic strncpy/strnlen from_user csky: use generic strncpy/strnlen from_user microblaze: use generic strncpy/strnlen from_user asm-generic: uaccess: remove inline strncpy_from_user/strnlen_user asm-generic: remove extra strn{cpy_from,len}_user declarations asm-generic: reverse GENERIC_{STRNCPY_FROM,STRNLEN}_USER symbols arch/alpha/Kconfig | 2 - arch/arc/include/asm/uaccess.h | 72 ------------- arch/arc/mm/extable.c | 12 --- arch/arm/Kconfig | 2 - arch/arm64/Kconfig | 2 - arch/csky/include/asm/uaccess.h | 6 -- arch/csky/lib/usercopy.c | 102 ------------------ arch/h8300/kernel/h8300_ksyms.c | 2 - arch/h8300/lib/Makefile | 2 +- arch/h8300/lib/strncpy.S | 35 ------ arch/hexagon/include/asm/uaccess.h | 31 ------ arch/hexagon/kernel/hexagon_ksyms.c | 1 - arch/hexagon/mm/Makefile | 2 +- arch/hexagon/mm/strnlen_user.S | 126 ---------------------- arch/ia64/Kconfig | 2 + arch/m68k/Kconfig | 2 - arch/microblaze/include/asm/uaccess.h | 19 +--- arch/microblaze/kernel/microblaze_ksyms.c | 3 - arch/microblaze/lib/uaccess_old.S | 90 ---------------- arch/mips/Kconfig | 2 + arch/nds32/Kconfig | 2 - arch/nios2/Kconfig | 2 - arch/openrisc/Kconfig | 2 - arch/parisc/Kconfig | 2 +- arch/powerpc/Kconfig | 2 - arch/riscv/Kconfig | 2 - arch/s390/Kconfig | 2 + arch/sh/Kconfig | 2 - arch/sparc/Kconfig | 2 - arch/um/Kconfig | 2 + arch/um/include/asm/uaccess.h | 5 +- arch/um/kernel/skas/uaccess.c | 14 ++- arch/x86/Kconfig | 2 - arch/xtensa/Kconfig | 3 +- arch/xtensa/include/asm/uaccess.h | 3 +- include/asm-generic/uaccess.h | 52 ++------- lib/Kconfig | 10 +- 37 files changed, 43 insertions(+), 581 deletions(-) delete mode 100644 arch/h8300/lib/strncpy.S delete mode 100644 arch/hexagon/mm/strnlen_user.S -- 2.29.2 Cc: "James E.J. Bottomley" <James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> Cc: Al Viro <viro@xxxxxxxxxxxxxxxxxx> Cc: Anton Ivanov <anton.ivanov@xxxxxxxxxxxxxxxxxx> Cc: Brian Cain <bcain@xxxxxxxxxxxxxx> Cc: Chris Zankel <chris@xxxxxxxxxx> Cc: Christian Borntraeger <borntraeger@xxxxxxxxxx> Cc: Christoph Hellwig <hch@xxxxxx> Cc: Guo Ren <guoren@xxxxxxxxxx> Cc: Heiko Carstens <hca@xxxxxxxxxxxxx> Cc: Helge Deller <deller@xxxxxx> Cc: Jeff Dike <jdike@xxxxxxxxxxx> Cc: Linus Walleij <linus.walleij@xxxxxxxxxx> Cc: Max Filippov <jcmvbkbc@xxxxxxxxx> Cc: Michal Simek <monstr@xxxxxxxxx> Cc: Richard Weinberger <richard@xxxxxx> Cc: Thomas Bogendoerfer <tsbogend@xxxxxxxxxxxxxxxx> Cc: Vasily Gorbik <gor@xxxxxxxxxxxxx> Cc: Vineet Gupta <vgupta@xxxxxxxxxxxx> Cc: Yoshinori Sato <ysato@xxxxxxxxxxxxxxxxxxxx> Cc: linux-arch@xxxxxxxxxxxxxxx Cc: linux-csky@xxxxxxxxxxxxxxx Cc: linux-hexagon@xxxxxxxxxxxxxxx Cc: linux-ia64@xxxxxxxxxxxxxxx Cc: linux-kernel@xxxxxxxxxxxxxxx Cc: linux-mips@xxxxxxxxxxxxxxx Cc: linux-parisc@xxxxxxxxxxxxxxx Cc: linux-s390@xxxxxxxxxxxxxxx Cc: linux-snps-arc@xxxxxxxxxxxxxxxxxxx Cc: linux-um@xxxxxxxxxxxxxxxxxxx Cc: linux-xtensa@xxxxxxxxxxxxxxxx Cc: uclinux-h8-devel@xxxxxxxxxxxxxxxxxxxx