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
- Linux / Linuxb29d4986d0da1a27cd35917cdb433672f5c95d7f – 9fa18d0b981776b190ca4632942a7c2174052b78
- Linux / Linuxb29d4986d0da1a27cd35917cdb433672f5c95d7f – ecb10c193cbebf5e6984246a9b4ff1f95d45ed87
- Linux / Linuxb29d4986d0da1a27cd35917cdb433672f5c95d7f – 64d6519b00be4116d365bd31f33a5e5ce2944c1a
- Linux / Linuxb29d4986d0da1a27cd35917cdb433672f5c95d7f – b8ace9e96983abb20ccf39edce8a60f1bb0b83d8
- Linux / Linuxb29d4986d0da1a27cd35917cdb433672f5c95d7f – 05798d091ebcfb6d68228890e593f209e8ac940d
- Linux / Linuxb29d4986d0da1a27cd35917cdb433672f5c95d7f – 4ca8b8bd952df7c3ccdc68af9bd3419d0839a04b
- Linux / Linux4.12 – 4.12
- Linux / Linux0 – 4.12
- Linux / Linux6.1.175 – 6.1.*
- Linux / Linux6.6.141 – 6.6.*
- Linux / Linux6.12.91 – 6.12.*
- Linux / Linux6.18.33 – 6.18.*
- Linux / Linux7.0.10 – 7.0.*
- Linux / Linux7.1 – *
References
- MISChttps://git.kernel.org/stable/c/9fa18d0b981776b190ca4632942a7c2174052b78
- MISChttps://git.kernel.org/stable/c/ecb10c193cbebf5e6984246a9b4ff1f95d45ed87
- MISChttps://git.kernel.org/stable/c/64d6519b00be4116d365bd31f33a5e5ce2944c1a
- MISChttps://git.kernel.org/stable/c/b8ace9e96983abb20ccf39edce8a60f1bb0b83d8
- MISChttps://git.kernel.org/stable/c/05798d091ebcfb6d68228890e593f209e8ac940d
- MISChttps://git.kernel.org/stable/c/4ca8b8bd952df7c3ccdc68af9bd3419d0839a04b