Description (CNA)
In the Linux kernel, the following vulnerability has been resolved: md/raid5-cache: fix null-ptr-deref for r5l_flush_stripe_to_raid() r5l_flush_stripe_to_raid() will check if the list 'flushing_ios' is empty, and then submit 'flush_bio', however, r5l_log_flush_endio() is clearing the list first and then clear the bio, which will cause null-ptr-deref: T1: submit flush io raid5d handle_active_stripes r5l_flush_stripe_to_raid // list is empty // add 'io_end_ios' to the list bio_init submit_bio // io1 T2: io1 is done r5l_log_flush_endio list_splice_tail_init // clear the list T3: submit new flush io ... r5l_flush_stripe_to_raid // list is empty // add 'io_end_ios' to the list bio_init bio_uninit // clear bio->bi_blkg submit_bio // null-ptr-deref Fix this problem by clearing bio before clearing the list in r5l_log_flush_endio().
Affected (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 0dd00cba99c352dc9afd62979f350d808c215cb9 before 711fb92606208a8626b785da4f9f23d648a5b6c8; affected 0dd00cba99c352dc9afd62979f350d808c215cb9 before 7a8b6d93991bf4b72b3f959baea35397c6c8e521; affected 0dd00cba99c352dc9afd62979f350d808c215cb9 before e46b2e7be8059d156af8c011dd8d665229b65886; affected 0dd00cba99c352dc9afd62979f350d808c215cb9 before 0d0bd28c500173bfca78aa840f8f36d261ef1765 |
| Linux / Linux | affected 5.18; unaffected 0 before 5.18; unaffected 6.1.53 through 6.1.*; unaffected 6.4.16 through 6.4.*; unaffected 6.5.3 through 6.5.*; unaffected 6.6 through * |
CWE
No CWE identifiers supplied.
References
- https://git.kernel.org/stable/c/711fb92606208a8626b785da4f9f23d648a5b6c8
- https://git.kernel.org/stable/c/7a8b6d93991bf4b72b3f959baea35397c6c8e521
- https://git.kernel.org/stable/c/e46b2e7be8059d156af8c011dd8d665229b65886
- https://git.kernel.org/stable/c/0d0bd28c500173bfca78aa840f8f36d261ef1765
ADP enrichment
No English description supplied.
No references supplied.