CVE-2025-40124
sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC III
In the Linux kernel, the following vulnerability has been resolved:
sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC III
Anthony Yznaga tracked down that a BUG_ON in ext4 code with large folios
enabled resulted from copy_from_user() returning impossibly large values
greater than the size to be copied. This lead to __copy_from_iter()
returning impossible values instead of the actual number of bytes it was
able to copy.
The BUG_ON has been reported in
https://lore.kernel.org/r/b14f55642207e63e907965e209f6323a0df6dcee.camel@physik.fu-berlin.de
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. The exception handlers expect that
%o2 has already been masked during the bulk copy loop, but the masking was
performed after that loop. This will fix the return value of copy_from_user
and copy_to_user in the faulting case. The behaviour of memcpy stays
unchanged.
Produtos afetados
Linux · LinuxQuer saber se a sua infraestrutura está exposta a isto?
Falar com a TrueHacking →Referências
https://git.kernel.org/stable/c/1198077606aeffb102587c6ea079ce99641c99d4https://git.kernel.org/stable/c/1857cdca12c4aff58bf26a7005a4d02850c29927https://git.kernel.org/stable/c/47b49c06eb62504075f0f2e2227aee2e2c2a58b3https://git.kernel.org/stable/c/5ef9c94d7110e90260c06868cf1dcf899b9f25eehttps://git.kernel.org/stable/c/91eda032eb16e5d2be27c95584665bc555bb5a90https://git.kernel.org/stable/c/dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8ehttps://git.kernel.org/stable/c/e50377c6b3f278c9f3ef017ffce17f5fcc9dace4https://git.kernel.org/stable/c/fdd43fe6d286f27b826572457a89c926f97e2d3a