CVE-2024-56565

Source
https://cve.org/CVERecord?id=CVE-2024-56565
Import Source
https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-56565.json
JSON Data
https://api.test.osv.dev/v1/vulns/CVE-2024-56565
Downstream
BELL (1)
DEBIAN (1)
ECHO (1)
MGASA (2)
ROOT (3)
UBUNTU (1)
Related
Published
2024-12-27T14:23:09Z
Modified
2026-11-01T02:36:04Z
Summary
f2fs: fix to drop all discards after creating snapshot on lvm device
Details

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

f2fs: fix to drop all discards after creating snapshot on lvm device

Piergiorgio reported a bug in bugzilla as below:

------------[ cut here ]------------ WARNING: CPU: 2 PID: 969 at fs/f2fs/segment.c:1330 RIP: 0010:__submit_discard_cmd+0x27d/0x400 [f2fs] Call Trace: __issue_discard_cmd+0x1ca/0x350 [f2fs] issue_discard_thread+0x191/0x480 [f2fs] kthread+0xcf/0x100 ret_from_fork+0x31/0x50 ret_from_fork_asm+0x1a/0x30

w/ below testcase, it can reproduce this bug quickly:

  • pvcreate /dev/vdb
  • vgcreate myvg1 /dev/vdb
  • lvcreate -L 1024m -n mylv1 myvg1
  • mount /dev/myvg1/mylv1 /mnt/f2fs
  • dd if=/dev/zero of=/mnt/f2fs/file bs=1M count=20
  • sync
  • rm /mnt/f2fs/file
  • sync
  • lvcreate -L 1024m -s -n mylv1-snapshot /dev/myvg1/mylv1
  • umount /mnt/f2fs

The root cause is: it will update discard_max_bytes of mounted lvm device to zero after creating snapshot on this lvm device, then, __submit_discard_cmd() will pass parameter @nr_sects w/ zero value to __blkdev_issue_discard(), it returns a NULL bio pointer, result in panic.

This patch changes as below for fixing:

  1. Let's drop all remained discards in f2fs_unfreeze() if snapshot of lvm device is created.
  2. Checking discard_max_bytes before submitting discard during __submit_discard_cmd().
Database specific
{
    "cna_assigner": "Linux",
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2024/56xxx/CVE-2024-56565.json"
}
References

Affected packages

Git / git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git

Affected ranges

Type
GIT
Repo
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
Events
Introduced
35ec7d5748849762008e8ae9f8ad2766229d5794
Fixed
0f3b00763dae90e94eed94a39d32d252d8750e9d
Fixed
ed24ab98242f8d22b66fbe0452c97751b5ea4e22
Fixed
15136c3861a3341db261ebdbb6ae4ae1765635e2
Fixed
bc8aeb04fd80cb8cfae3058445c84410fd0beb5e

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-56565.json"

Linux / Kernel

Package

Name
Kernel

Affected ranges

Type
ECOSYSTEM
Events
Introduced
4.19.0
Fixed
6.1.191
Type
ECOSYSTEM
Events
Introduced
6.2.0
Fixed
6.6.66
Type
ECOSYSTEM
Events
Introduced
6.7.0
Fixed
6.12.4

Database specific

source
"https://storage.googleapis.com/osv-test-cve-osv-conversion/osv-output/CVE-2024-56565.json"