linux/arch
Michael Karcher 58ce0b1bc2 sparc: fix accurate exception reporting in copy_{from,to}_user for M7
[ Upstream commit 936fb51275 ]

The referenced commit introduced exception handlers on user-space memory
references in copy_from_user and copy_to_user. These handlers return from
the respective function and calculate the remaining bytes left to copy
using the current register contents. This commit fixes a couple of bad
calculations. This will fix the return value of copy_from_user and
copy_to_user in the faulting case. The behaviour of memcpy stays unchanged.

Fixes: 34060b8fff ("arch/sparc: Add accurate exception reporting in M7memcpy")
Tested-by: John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de> # on Oracle SPARC S7
Tested-by: Tony Rodriguez <unixpro1970@gmail.com> # S7, see https://lore.kernel.org/r/98564e2e68df2dda0e00c67a75c7f7dfedb33c7e.camel@physik.fu-berlin.de
Signed-off-by: Michael Karcher <kernel@mkarcher.dialup.fu-berlin.de>
Reviewed-by: Andreas Larsson <andreas@gaisler.com>
Link: https://lore.kernel.org/r/20250905-memcpy_series-v4-5-1ca72dda195b@mkarcher.dialup.fu-berlin.de
Signed-off-by: Andreas Larsson <andreas@gaisler.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
History 2025-10-19 16:21:36 +02:00
..
alpha sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
arc sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
arm ARM: at91: pm: fix MCKx restore routine 2025-10-19 16:21:30 +02:00
arm64 arm64: dts: mediatek: mt8516-pumpkin: Fix machine compatible 2025-10-19 16:21:30 +02:00
csky sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
h8300 sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
hexagon sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
ia64 sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
m68k m68k: Fix lost column on framebuffer debug console 2025-08-28 16:24:27 +02:00
microblaze sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
mips lib/crypto: mips/chacha: Fix clang build and remove unneeded byteswap 2025-08-28 16:24:27 +02:00
nds32 sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
nios2 sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
openrisc sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
parisc parisc: Makefile: fix a typo in palo.conf 2025-08-28 16:24:27 +02:00
powerpc powerpc/kvm: Fix ifdef to remove build warning 2025-09-04 14:28:45 +02:00
riscv sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
s390 s390/hypfs: Enable limited access during lockdown 2025-08-28 16:24:39 +02:00
sh sh: Do not use hyphen in exported variable name 2025-08-28 16:24:11 +02:00
sparc sparc: fix accurate exception reporting in copy_{from,to}_user for M7 2025-10-19 16:21:36 +02:00
um um: virtio_uml: Fix use-after-free after put_device in probe 2025-10-02 13:39:06 +02:00
x86 x86/vdso: Fix output operand size of RDPID 2025-10-19 16:21:29 +02:00
xtensa sched: Add wrapper for get_wchan() to keep task blocked 2025-08-28 16:24:03 +02:00
.gitignore .gitignore: prefix local generated files with a slash 2021-05-02 00:43:35 +09:00
Kconfig cpu: Re-enable CPU mitigations by default for !X86 architectures 2024-05-02 16:24:48 +02:00