CVE-2021-47007

Source
https://cve.org/CVERecord?id=CVE-2021-47007
Import Source
https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47007.json
JSON Data
https://api.osv.dev/v1/vulns/CVE-2021-47007
Downstream
Published
2024-02-28T09:15:38Z
Modified
2026-03-15T14:45:39Z
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:

f2fs: fix panic during f2fs_resize_fs()

f2fs_resize_fs() hangs in below callstack with testcase:

  • mkfs 16GB image & mount image
  • dd 8GB fileA
  • dd 8GB fileB
  • sync
  • rm fileA
  • sync
  • resize filesystem to 8GB

kernel BUG at segment.c:2484! Call Trace: allocate_segment_by_default+0x92/0xf0 [f2fs] f2fs_allocate_data_block+0x44b/0x7e0 [f2fs] do_write_page+0x5a/0x110 [f2fs] f2fs_outplace_write_data+0x55/0x100 [f2fs] f2fs_do_write_data_page+0x392/0x850 [f2fs] move_data_page+0x233/0x320 [f2fs] do_garbage_collect+0x14d9/0x1660 [f2fs] free_segment_range+0x1f7/0x310 [f2fs] f2fs_resize_fs+0x118/0x330 [f2fs] __f2fs_ioctl+0x487/0x3680 [f2fs] __x64_sys_ioctl+0x8e/0xd0 do_syscall_64+0x33/0x80 entry_SYSCALL_64_after_hwframe+0x44/0xa9

The root cause is we forgot to check that whether we have enough space in resized filesystem to store all valid blocks in before-resizing filesystem, then allocator will run out-of-space during block migration in free_segment_range().

References

Affected packages

Git /

Affected ranges

Database specific

source
"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2021-47007.json"
unresolved_ranges
[
    {
        "events":  [
            {
                "introduced":  "5.8"
            },
            {
                "fixed":  "5.10.38"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "5.11"
            },
            {
                "fixed":  "5.11.22"
            }
        ]
    },
    {
        "events":  [
            {
                "introduced":  "5.12"
            },
            {
                "fixed":  "5.12.5"
            }
        ]
    }
]