CVE-2026-99135NVD
Vulnerability Summary
In the Linux kernel, the following vulnerability has been resolved:
dm-integrity: fix infinite loop on discard with large tag size
When integrity_metadata handles a discard, it fills a buffer with
DISCARD_FILLER and writes it over the tags, max_blocks blocks at a
time. If the kmalloc fails, the buffer is the on-stack array
checksums_onstack and max_size is set to HASH_MAX_DIGESTSIZE. So if the
tag size is larger than HASH_MAX_DIGESTSIZE, max_blocks is zero, bi_size
is never decremented and the loop never terminates.
Fix this by using sizeof(checksums_onstack) as max_size. The array has
MAX_TAG_SIZE bytes since commit b93b6643e9b5 ("dm integrity: fix a
crash with unusually large tag size"), so max_blocks is at least 1.
dm-integrity: fix infinite loop on discard with large tag size
When integrity_metadata handles a discard, it fills a buffer with
DISCARD_FILLER and writes it over the tags, max_blocks blocks at a
time. If the kmalloc fails, the buffer is the on-stack array
checksums_onstack and max_size is set to HASH_MAX_DIGESTSIZE. So if the
tag size is larger than HASH_MAX_DIGESTSIZE, max_blocks is zero, bi_size
is never decremented and the loop never terminates.
Fix this by using sizeof(checksums_onstack) as max_size. The array has
MAX_TAG_SIZE bytes since commit b93b6643e9b5 ("dm integrity: fix a
crash with unusually large tag size"), so max_blocks is at least 1.
Affected & Patched Versions
Not provided by NVD for this CVE.
Not provided by NVD for this CVE.
External References
- https://git.kernel.org/stable/c/18d80c77b4c7dd20699e81cedfbbff4e9d198f28
- https://git.kernel.org/stable/c/251b44b424920df9204e88a81fb3f78fa48ddd99
- https://git.kernel.org/stable/c/41a18e6c6e2c4a912494a035c17ecfe79c68b9e6
- https://git.kernel.org/stable/c/bbc154a7da4e075aef720ef051aff6094400eb66
- https://git.kernel.org/stable/c/c4cba6670fa199415689f67108e96b0ba469d767
- https://git.kernel.org/stable/c/c66f5c6ccfa832d28b44a66c01e3468c246adac4
- https://git.kernel.org/stable/c/f41a224b3c9d66c7b59afc7cae02a8b214f3c684
- https://git.kernel.org/stable/c/fc512700f1413fed652dac22fa1c4e837210b9c0