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:40:08 +0000 (14:40 +0200)
commit7ce3e6e1036e98eb3712b29433784061cfa0bbff
tree75f109540ad0682c14eaedf659076c63fd0ee94b
parent19894751f65785ee8d9cf7d94853c8c1f76bceb7
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