Linux: drm/amd/ras: reset CPER ring on corrupt entry size
What fixes it
A fixed version on one release line is not the upgrade target for every line. Check your exact version and any vendor backports.
Description
In the Linux kernel, the following vulnerability has been resolved:
drm/amd/ras: reset CPER ring on corrupt entry size
When CPER ring overflow handling advances the read pointer, it trusts the parsed entry size from the current ring contents. Corrupt CPER data can produce an entry size that does not advance rptr after dword conversion and pointer masking.
In that case the recovery loop keeps testing the same location while holding the CPER ring mutex. This can hang the worker that is writing the next CPER record.
Detect a no-progress rptr update and reset the CPER ring to an empty state instead. This drops the corrupt contents and lets the writer leave the recovery path without spinning.
Text from CVE List
Affected versions 5
- Linuxaffected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before a98d0d49757a113ce17960262b9cd4ccc1420108CVE List
- Linuxaffected: 1da177e4c3f41524e886b7f1b8a0c1fc7321cac2 before 4d695e66d7027a0c78302e47ac76293675fbbb4dCVE List
- Linuxaffected: all versions before 6.18.53CVE List
- Linuxunaffected: 6.18.53 through 6.18.*CVE List
- Linuxunaffected: 7.2CVE List