CVE-2026-74379
N/A
Summary
In the Linux kernel, the following vulnerability has been resolved:
dax/kmem: account for partial discontiguous resource upon removal
When dev_dax_kmem_probe() partially succeeds (at least one range is mapped) but a subsequent range fails request_mem_region() or add_memory_driver_managed(), the probe silently continues, ultimately returning success, but with the corresponding range resource NULL'ed out.
dev_dax_kmem_remove() iterates over all dax_device ranges regardless of if the underlying resource exists. When remove_memory() is called later, it returns 0 because the memory was never added which causes dev_dax_kmem_remove() to incorrectly assume the (nonexistent) resource can be removed and attempts cleanup on a NULL pointer.
Fix this by skipping these ranges altogether, noting that these cases are considered success, such that the cleanup is still reached when all actually-added ranges are successfully removed.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < ef4fc53898bd6c4d0119cc6d419ebef7f2560f31 | affected |
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < 5d3139abb9d1671fa5e42c3d6d8cb3b05479c5bb | affected |
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < d47b0b8a69a13e06afafa54723f3e8c99b0c788f | affected |
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < 799e54c510a03a65a57627018a817838d72f35bd | affected |
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < 598ed7393a639c7547b28ff3e14db9f1ac37c132 | affected |
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < 30ea97affbcce236c57287c82dc6ef7a29c63b76 | affected |
| Linux | Linux | 60e93dc097f7f13a16a7e4b75b8803eb2adbb721 < 8aa442cfce79e2d69e72fc8e0c0864ac2971149d | affected |
| Linux | Linux | 5.10 | affected |
| Linux | Linux | 0 < 5.10 | unaffected |
| Linux | Linux | 5.15.212 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.178 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.145 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.97 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.40 <= 6.18.* | unaffected |
| Linux | Linux | 7.1.5 <= 7.1.* | unaffected |
| Linux | Linux | 7.2 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/ef4fc53898bd6c4d0119cc6d419ebef7f2560f31
- https://git.kernel.org/stable/c/5d3139abb9d1671fa5e42c3d6d8cb3b05479c5bb
- https://git.kernel.org/stable/c/d47b0b8a69a13e06afafa54723f3e8c99b0c788f
- https://git.kernel.org/stable/c/799e54c510a03a65a57627018a817838d72f35bd
- https://git.kernel.org/stable/c/598ed7393a639c7547b28ff3e14db9f1ac37c132
- https://git.kernel.org/stable/c/30ea97affbcce236c57287c82dc6ef7a29c63b76
- https://git.kernel.org/stable/c/8aa442cfce79e2d69e72fc8e0c0864ac2971149d
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.