CVE-2021-47119

Source
https://cve.org/CVERecord?id=CVE-2021-47119
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47119.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2021-47119
Downstream
Related
Published
2024-03-15T21:15:07Z
Modified
2026-03-13T05:20:34Z
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:

ext4: fix memory leak in ext4_fill_super

Buffer head references must be released before calling kill_bdev(); otherwise the buffer head (and its page referenced by b_data) will not be freed by kill_bdev, and subsequently that bh will be leaked.

If blocksizes differ, sb_set_blocksize() will kill current buffers and page cache by using kill_bdev(). And then super block will be reread again but using correct blocksize this time. sb_set_blocksize() didn't fully free superblock page and buffer head, and being busy, they were not freed and instead leaked.

This can easily be reproduced by calling an infinite loop of:

systemctl start <ext4_on_lvm>.mount, and systemctl stop <ext4_on_lvm>.mount

... since systemd creates a cgroup for each slice which it mounts, and the bh leak get amplified by a dying memory cgroup that also never gets freed, and memory consumption is much more easily noticed.

References

Affected packages

Git /

Affected ranges

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2021-47119.json"
unresolved_ranges
[
    {
        "events":  [
            {
                "introduced":  "2.6.19"
            },
            {
                "fixed":  "5.10.43"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "5.11"
            },
            {
                "fixed":  "5.12.10"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.13-rc1"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.13-rc2"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.13-rc3"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "0"
            },
            {
                "last_affected":  "5.13-rc4"
            }
        ]
    }
]