[PATCH v3 0/6] asm-generic: strncpy_from_user/strnlen_user cleanup

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 



[Index of Archives]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux