CVE-2023-53429: btrfs: don't check PageError in __extent_writepage
In the Linux kernel, the following vulnerability has been resolved:
btrfs: don't check PageError in extentwritepage
extentwritepage currenly sets PageError whenever any error happens, and the also checks for PageError to decide if to call error handling. This leads to very unclear responsibility for cleaning up on errors. In the VM and generic writeback helpers the basic idea is that once I/O is fired off all error handling responsibility is delegated to the end I/O handler. But if that end I/O handler sets the PageError bit, and the submitter checks it, the bit could in some cases leak into the submission context for fast enough I/O.
Fix this by simply not checking PageError and just using the local ret variable to check for submission errors. This also fundamentally solves the long problem documented in a comment in extentwritepage by never leaking the error bit into the submission context.
Affected Software
Event History
Frequently Asked Questions
What is the severity of CVE-2023-53429?
The severity of CVE-2023-53429 is classified as high due to potential data corruption risks in the Linux kernel.
How do I fix CVE-2023-53429?
To fix CVE-2023-53429, update your Linux kernel to the latest version where this vulnerability has been patched.
What systems are affected by CVE-2023-53429?
CVE-2023-53429 affects systems running affected versions of the Linux kernel that utilize the btrfs filesystem.
What happens if CVE-2023-53429 is exploited?
Exploitation of CVE-2023-53429 could lead to data corruption and potentially cause system instability.
Is CVE-2023-53429 a persistent vulnerability in the Linux kernel?
CVE-2023-53429 is not a persistent vulnerability and has been resolved in the updated versions of the Linux kernel.