sparc64: add __{get,put}_kernel_nofault()
authorArnd Bergmann <arnd@arndb.de>
Fri, 11 Feb 2022 07:30:59 +0000 (08:30 +0100)
committerArnd Bergmann <arnd@arndb.de>
Fri, 25 Feb 2022 08:36:05 +0000 (09:36 +0100)
commit8afafbc955ba6fc04b1e202b21856020152d12c9
tree73d0d5737045be24c23f6b00250b1ee1f52baf19
parent8926d88ced46700bf6117ceaf391480b943ea9f4
sparc64: add __{get,put}_kernel_nofault()

sparc64 is one of the architectures that uses separate address
spaces for kernel and user addresses, so __get_kernel_nofault()
can not just call into the normal __get_user() without the
access_ok() check.

Instead duplicate __get_user() and __put_user() into their
in-kernel versions, with minor changes for the calling conventions
and leaving out the address space modifier on the assembler
instruction.

This could surely be written more elegantly, but duplicating it
gets the job done.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
arch/sparc/include/asm/uaccess_64.h