CVE-2022-49995
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
writeback: avoid use-after-free after removing device
When a disk is removed, bdi_unregister gets called to stop further writeback and wait for associated delayed work to complete. However, wb_inode_writeback_end() may schedule bandwidth estimation dwork after this has completed, which can result in the timer attempting to access the just freed bdi_writeback.
Fix this by checking if the bdi_writeback is alive, similar to when scheduling writeback work.
Since this requires wb->work_lock, and wb_inode_writeback_end() may get called from interrupt, switch wb->work_lock to an irqsafe lock.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 45a2966fd64147518dc5bca25f447bd0fb5359ac < f96b9f7c1676923bce871e728bb49c0dfa5013cc | affected |
| Linux | Linux | 45a2966fd64147518dc5bca25f447bd0fb5359ac < 9a6c710f3bc10bc9cc23e1c080b53245b7f9d5b7 | affected |
| Linux | Linux | 45a2966fd64147518dc5bca25f447bd0fb5359ac < f87904c075515f3e1d8f4a7115869d3b914674fd | affected |
| Linux | Linux | 5.15 | affected |
| Linux | Linux | 0 < 5.15 | unaffected |
| Linux | Linux | 5.15.64 <= 5.15.* | unaffected |
| Linux | Linux | 5.19.6 <= 5.19.* | unaffected |
| Linux | Linux | 6.0 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/f96b9f7c1676923bce871e728bb49c0dfa5013cc
- https://git.kernel.org/stable/c/9a6c710f3bc10bc9cc23e1c080b53245b7f9d5b7
- https://git.kernel.org/stable/c/f87904c075515f3e1d8f4a7115869d3b914674fd
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.