Description
In the Linux kernel, the following vulnerability has been resolved: dm cache: fix write hang in passthrough mode The invalidate_remove() function has incomplete logic for handling write hit bios after cache invalidation. It sets up the remapping for the overwrite_bio but then drops it immediately without submission, causing write operations to hang. Fix by adding a new invalidate_committed() continuation that submits the remapped writes to the cache origin after metadata commit completes, while using the overwrite_endio hook to ensure proper completion sequencing. This maintains existing coherency. Also improve error handling in invalidate_complete() to preserve the original error status instead of using bio_io_error() unconditionally.
Affected products
Version statuses are supplied by the assigning organization. Consult the original record for detailed ranges and platform conditions.
Linux Linux
Default version status: unaffected
b29d4986d0da1a27cd35917cdb433672f5c95d7f to < 9fa18d0b981776b190ca4632942a7c2174052b78affectedb29d4986d0da1a27cd35917cdb433672f5c95d7f to < ecb10c193cbebf5e6984246a9b4ff1f95d45ed87affectedb29d4986d0da1a27cd35917cdb433672f5c95d7f to < 64d6519b00be4116d365bd31f33a5e5ce2944c1aaffectedb29d4986d0da1a27cd35917cdb433672f5c95d7f to < b8ace9e96983abb20ccf39edce8a60f1bb0b83d8affectedb29d4986d0da1a27cd35917cdb433672f5c95d7f to < 05798d091ebcfb6d68228890e593f209e8ac940daffectedb29d4986d0da1a27cd35917cdb433672f5c95d7f to < 4ca8b8bd952df7c3ccdc68af9bd3419d0839a04baffected
Linux Linux
Default version status: affected
4.12affected0 to < 4.12unaffected6.1.175 to ≤ 6.1.*unaffected6.6.141 to ≤ 6.6.*unaffected6.12.91 to ≤ 6.12.*unaffected6.18.33 to ≤ 6.18.*unaffected7.0.10 to ≤ 7.0.*unaffected7.1 to ≤ *unaffected
References
- https://git.kernel.org/stable/c/9fa18d0b981776b190ca4632942a7c2174052b78 ↗
- https://git.kernel.org/stable/c/ecb10c193cbebf5e6984246a9b4ff1f95d45ed87 ↗
- https://git.kernel.org/stable/c/64d6519b00be4116d365bd31f33a5e5ce2944c1a ↗
- https://git.kernel.org/stable/c/b8ace9e96983abb20ccf39edce8a60f1bb0b83d8 ↗
- https://git.kernel.org/stable/c/05798d091ebcfb6d68228890e593f209e8ac940d ↗
- https://git.kernel.org/stable/c/4ca8b8bd952df7c3ccdc68af9bd3419d0839a04b ↗