ghsa-f6pj-88hq-4vr4
Vulnerability from github
Published
2025-12-24 15:30
Modified
2025-12-24 15:30
Details

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

f2fs: fix to drop all dirty pages during umount() if cp_error is set

xfstest generic/361 reports a bug as below:

f2fs_bug_on(sbi, sbi->fsync_node_num);

kernel BUG at fs/f2fs/super.c:1627! RIP: 0010:f2fs_put_super+0x3a8/0x3b0 Call Trace: generic_shutdown_super+0x8c/0x1b0 kill_block_super+0x2b/0x60 kill_f2fs_super+0x87/0x110 deactivate_locked_super+0x39/0x80 deactivate_super+0x46/0x50 cleanup_mnt+0x109/0x170 __cleanup_mnt+0x16/0x20 task_work_run+0x65/0xa0 exit_to_user_mode_prepare+0x175/0x190 syscall_exit_to_user_mode+0x25/0x50 do_syscall_64+0x4c/0x90 entry_SYSCALL_64_after_hwframe+0x72/0xdc

During umount(), if cp_error is set, f2fs_wait_on_all_pages() should not stop waiting all F2FS_WB_CP_DATA pages to be writebacked, otherwise, fsync_node_num can be non-zero after f2fs_wait_on_all_pages() causing this bug.

In this case, to avoid deadloop in f2fs_wait_on_all_pages(), it needs to drop all dirty pages rather than redirtying them.

Show details on source website


{
  "affected": [],
  "aliases": [
    "CVE-2023-54124"
  ],
  "database_specific": {
    "cwe_ids": [],
    "github_reviewed": false,
    "github_reviewed_at": null,
    "nvd_published_at": "2025-12-24T13:16:14Z",
    "severity": null
  },
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to drop all dirty pages during umount() if cp_error is set\n\nxfstest generic/361 reports a bug as below:\n\nf2fs_bug_on(sbi, sbi-\u003efsync_node_num);\n\nkernel BUG at fs/f2fs/super.c:1627!\nRIP: 0010:f2fs_put_super+0x3a8/0x3b0\nCall Trace:\n generic_shutdown_super+0x8c/0x1b0\n kill_block_super+0x2b/0x60\n kill_f2fs_super+0x87/0x110\n deactivate_locked_super+0x39/0x80\n deactivate_super+0x46/0x50\n cleanup_mnt+0x109/0x170\n __cleanup_mnt+0x16/0x20\n task_work_run+0x65/0xa0\n exit_to_user_mode_prepare+0x175/0x190\n syscall_exit_to_user_mode+0x25/0x50\n do_syscall_64+0x4c/0x90\n entry_SYSCALL_64_after_hwframe+0x72/0xdc\n\nDuring umount(), if cp_error is set, f2fs_wait_on_all_pages() should\nnot stop waiting all F2FS_WB_CP_DATA pages to be writebacked, otherwise,\nfsync_node_num can be non-zero after f2fs_wait_on_all_pages() causing\nthis bug.\n\nIn this case, to avoid deadloop in f2fs_wait_on_all_pages(), it needs\nto drop all dirty pages rather than redirtying them.",
  "id": "GHSA-f6pj-88hq-4vr4",
  "modified": "2025-12-24T15:30:38Z",
  "published": "2025-12-24T15:30:38Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2023-54124"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/4ceedc2f8bdffb82e40b7d1bb912304f8e157cb1"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/7741ddc882a0c806a6508ba8203c55a779db7a21"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/82c3d6e9db41cbd3af1d4f90bdb441740b5fad10"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/92575f05a32dafb16348bfa5e62478118a9be069"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/ad87bd313f70b51e48019d5ce2d02d73152356b3"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/c9b3649a934d131151111354bcbb638076f03a30"
    },
    {
      "type": "WEB",
      "url": "https://git.kernel.org/stable/c/d8f4ad5f3979dbd8e6251259562f12472717883a"
    }
  ],
  "schema_version": "1.4.0",
  "severity": []
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…