CVE-2021-47412

Source
https://cve.org/CVERecord?id=CVE-2021-47412
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47412.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-47412
Downstream
Related
Published
2024-05-21T15:15:26.700Z
Modified
2026-03-14T14:51:53.312548Z
Severity
  • 5.5 (Medium) CVSS_V3 - CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H CVSS Calculator
Summary
[none]
Details

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

block: don't call rqqosops->done_bio if the bio isn't tracked

rq_qos framework is only applied on request based driver, so:

1) rqqosdone_bio() needn't to be called for bio based driver

2) rqqosdone_bio() needn't to be called for bio which isn't tracked, such as bios ended from error handling code.

Especially in bio_endio():

1) request queue is referred via bio->bibdev->bddisk->queue, which may be gone since request queue refcount may not be held in above two cases

2) q->rqqos may be freed in blkcleanup_queue() when calling into _rqqosdonebio()

Fix the potential kernel panic by not calling rqqosops->donebio if the bio isn't tracked. This way is safe because both iocrqosdonebio() and blkcgiolatencydone_bio() are nop if the bio isn't tracked.

References

Affected packages

Git /

Affected ranges

Database specific

unresolved_ranges
[
    {
        "events": [
            {
                "introduced": "0"
            },
            {
                "fixed": "5.10.241"
            }
        ]
    },
    {
        "events": [
            {
                "introduced": "5.11"
            },
            {
                "fixed": "5.14.11"
            }
        ]
    },
    {
        "events": [
            {
                "introduced": "0"
            },
            {
                "last_affected": "5.15-rc1"
            }
        ]
    },
    {
        "events": [
            {
                "introduced": "0"
            },
            {
                "last_affected": "5.15-rc2"
            }
        ]
    }
]
source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47412.json"