arm64: percpu: Fix LSE operations on {8,16}-bit types
- Published
- Last modified
- Where the record stands: published, rejected by its publisher, or superseded by another id.What do these mean? →
- published
- Whether CISA lists it in its Known Exploited Vulnerabilities catalog: proof that attackers are using it.What do these mean? →
- Not listed in CISA KEV
- Fix
- Fixed in 6.12.112, 6.18.54, 7.2.8
- Whether working attack code is public (Exploit-DB, Metasploit, Nuclei or GitHub). Public code makes attacks easier.What do these mean? →
- None on Exploit-DB, Metasploit or GitHub
Summary
In the Linux kernel, the following vulnerability has been resolved: arm64: percpu: Fix LSE operations on {8,16}-bit types The assembly for __percpu_##name##_case_##sz() and __percpu_##name##_return_case_##sz() doesn't use the 'sfx' macro argument to form the LSE instruction. Without 'sfx', a W register argument will imply a 32-bit memory location, and consequently {8,16}-bit ops will erroneously read and write 32 bits of memory when the LSE instruction is used. Fix this by appending 'sfx' to 'op_lse' to LSE instruction. It is not necessary (and not valid) to append 'sfx' to 'op_llsc', as 'op_llsc' is a register-register operation which does not access memory (and does not take a size suffix).
Timeline
- CVE published
- Record last updated
Affected versions
- Linux Linux
From 959bf2fd03b59fc107584c21425f3dc73c49f762 · fixed in d69ab4480e49bf925f4781afcc9f284affcb96b6; From 959bf2fd03b59fc107584c21425f3dc73c49f762 · fixed in 390742871a723b52de9b92a94c0d1c85a2531e3e; From 959bf2fd03b59fc107584c21425f3dc73c49f762 · fixed in 843ace1d0a39e9b1cfcbfb3856a7b0fbdd9cd003; From 959bf2fd03b59fc107584c21425f3dc73c49f762 · fixed in 8cf2093f5372952a9ebc805c418d45df7112cd14
- Linux Linux
5.0
- KernelLinux
From 5.0.0 · fixed in 6.12.112; From 6.13.0 · fixed in 6.18.54; From 6.19.0 · fixed in 7.2.8