CVE-2023-52787: blk-mq: make sure active queue usage is held for bio_integrity_prep()

Description

In the Linux kernel, the following vulnerability has been resolved:

blk-mq: make sure active queue usage is held for bio_integrity_prep()

blk_integrity_unregister() can come if queue usage counter isn't held
for one bio with integrity prepared, so this request may be completed with
calling profile->complete_fn, then kernel panic.

Another constraint is that bio_integrity_prep() needs to be called
before bio merge.

Fix the issue by:

- call bio_integrity_prep() with one queue usage counter grabbed reliably

- call bio_integrity_prep() before bio merge

Classification

CVE ID: CVE-2023-52787

Affected Products

Vendor: Linux

Product: Linux

Exploit Prediction Scoring System (EPSS)

EPSS Score: 0.05% (probability of being exploited)

EPSS Percentile: 17.81% (scored less or equal to compared to others)

EPSS Date: 2025-02-03 (when was this score calculated)

References

https://git.kernel.org/stable/c/b5c8e0ff76d10f6bf70a7237678f27c20cf59bc9
https://git.kernel.org/stable/c/e9c309ded295b7f8849097d71ae231456ca79f78
https://git.kernel.org/stable/c/b80056bd75a16e4550873ecefe12bc8fd190b1cf
https://git.kernel.org/stable/c/b0077e269f6c152e807fdac90b58caf012cdbaab

Timeline