Skip to content
CVE PROGRAM SOURCE RECORD7.8 High

CVE-2025-40124

sparc: fix accurate exception reporting in copy_{from_to}_user for UltraSPARC III

Description

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.

Affected products

Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.

Linux Linux

Default version status: unaffected

  • ee841d0aff649164080e445e84885015958d8ff4 to < fdd43fe6d286f27b826572457a89c926f97e2d3aaffected
  • ee841d0aff649164080e445e84885015958d8ff4 to < 1198077606aeffb102587c6ea079ce99641c99d4affected
  • ee841d0aff649164080e445e84885015958d8ff4 to < 1857cdca12c4aff58bf26a7005a4d02850c29927affected
  • ee841d0aff649164080e445e84885015958d8ff4 to < 91eda032eb16e5d2be27c95584665bc555bb5a90affected
  • ee841d0aff649164080e445e84885015958d8ff4 to < dc766c4830a7e1e1ee9d7f77d4ab344f2eb23c8eaffected
  • ee841d0aff649164080e445e84885015958d8ff4 to < 5ef9c94d7110e90260c06868cf1dcf899b9f25eeaffected
  • ee841d0aff649164080e445e84885015958d8ff4 to < e50377c6b3f278c9f3ef017ffce17f5fcc9dace4affected
  • ee841d0aff649164080e445e84885015958d8ff4 to < 47b49c06eb62504075f0f2e2227aee2e2c2a58b3affected
  • 1c7e17b1c4d60cc5aa575460f7efb73686dd3b39affected
  • ac663c54f40b2830b1ca32d1ae9d683fe248b14caffected
  • 4.4.34 to < 4.5affected
  • 4.8.10 to < 4.9affected

Linux Linux

Default version status: affected

  • 4.9affected
  • 0 to < 4.9unaffected
  • 5.4.301 to ≤ 5.4.*unaffected
  • 5.10.246 to ≤ 5.10.*unaffected
  • 5.15.195 to ≤ 5.15.*unaffected
  • 6.1.156 to ≤ 6.1.*unaffected
  • 6.6.112 to ≤ 6.6.*unaffected
  • 6.12.53 to ≤ 6.12.*unaffected
  • 6.17.3 to ≤ 6.17.*unaffected
  • 6.18 to ≤ *unaffected

References