uaccess: fix nios2 and microblaze get_user_8()
authorArnd Bergmann <arnd@arndb.de>
Tue, 15 Feb 2022 14:37:37 +0000 (15:37 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 8 Apr 2022 12:23:18 +0000 (14:23 +0200)
commit3fa8114be4a23da00d56e085e3a4157a985673d7
tree7a71f7891b7e024896c15be747f55dbc1e92afca
parent469277ff5ac8058c2e716bca7a4cda5a4a5c1d9b
uaccess: fix nios2 and microblaze get_user_8()

[ Upstream commit a97b693c3712f040c5802f32b2d685352e08cefa ]

These two architectures implement 8-byte get_user() through
a memcpy() into a four-byte variable, which won't fit.

Use a temporary 64-bit variable instead here, and use a double
cast the way that risc-v and openrisc do to avoid compile-time
warnings.

Fixes: 6a090e97972d ("arch/microblaze: support get_user() of size 8 bytes")
Fixes: 5ccc6af5e88e ("nios2: Memory management")
Reviewed-by: Christoph Hellwig <hch@lst.de>
Acked-by: Dinh Nguyen <dinguyen@kernel.org>
Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Sasha Levin <sashal@kernel.org>
arch/microblaze/include/asm/uaccess.h
arch/nios2/include/asm/uaccess.h