Skip to main content

Linux EUVDEUVD-2026-59081

| CVE-2026-68459
2026-08-15 416baaa9-dc9f-4396-8d5f-8c081fb06d67 GHSA-phqv-2q9m-94vv

Lifecycle Timeline

2
Patch available
Aug 15, 2026 - 07:20 EUVD
CVE Published
Aug 15, 2026 - 06:18 cve.org
UNKNOWN (no severity yet)

DescriptionCVE.org

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

f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()

When we mount device w/ gc_merge mount option, we may suffer below potential deadlock:

Kworker GC trehad Truncator

  • f2fs_write_cache_pages
  • f2fs_write_single_data_page
  • f2fs_do_write_data_page
  • folio_start_writeback --- set writeback flag on folio
  • f2fs_outplace_write_data

: cached folio in internal bio cache

  • f2fs_balance_fs
  • wake_up(gc_thread)

: wake up gc thread to run foreground GC

  • finish_wait(fggc_wq)

: wait on the waitqueue --- wait on GC thread to finish the work

  • truncate_inode_pages_range
  • __filemap_get_folio(, FGP_LOCK) --- lock folio
  • truncate_inode_partial_folio
  • folio_wait_writeback --- wait on writeback being cleared
  • do_garbage_collect
  • move_data_page
  • f2fs_get_lock_data_folio
  • lock on folio --- blocked on folio's lock

In order to avoid such deadlock, let's call below functions to commit cached bios in GC_MERGE path of f2fs_balance_fs() as the same as we did in NOGC_MERGE path.

  • f2fs_submit_merged_write(sbi, DATA);
  • f2fs_submit_all_merged_ipu_writes(sbi);

Analysis

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

f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()

When we mount device w/ gc_merge mount option, we may suffer below potential deadlock:

Kworker GC trehad Truncator

  • f2fs_write_cache_pages
  • f2fs_write_single_data_page
  • f2fs_do_write_data_page
  • folio_start_writeback --- set writeback flag on folio
  • f2fs_outplace_write_data

: cached folio in internal bio cache

  • f2fs_balance_fs
  • wake_up(gc_thread)

: wake up gc thread to run foreground GC

  • finish_wait(fggc_wq)

: wait on the waitqueue --- wait on GC thread to finish the work

  • truncate_inode_pages_range
  • __filemap_get_folio(, FGP_LOCK) --- lock folio
  • truncate_inode_partial_folio
  • folio_wait_writeback --- wait on writeback being cleared
  • do_garbage_collect
  • move_data_page
  • f2fs_get_lock_data_folio
  • lock on folio --- blocked on folio's lock

In order to avoid such deadlock, let's call below functions to commit cached bios in GC_MERGE path of f2fs_balance_fs() as the same as we did in NOGC_MERGE path.

  • f2fs_submit_merged_write(sbi, DATA);
  • f2fs_submit_all_merged_ipu_writes(sbi);

Share

EUVD-2026-59081 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy