{"id":"CVE-2026-68459","state":"PUBLISHED","title":"f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()\n\nWhen we mount device w/ gc_merge mount option, we may suffer below\npotential deadlock:\n\nKworker\t\t\t\t\tGC trehad\t\t\tTruncator\n- f2fs_write_cache_pages\n - f2fs_write_single_data_page\n  - f2fs_do_write_data_page\n   - folio_start_writeback  --- set writeback flag on folio\n   - f2fs_outplace_write_data\n   : cached folio in internal bio cache\n  - f2fs_balance_fs\n   - wake_up(gc_thread)\n   : wake up gc thread to run foreground GC\n   - finish_wait(fggc_wq)\n   : wait on the waitqueue --- wait on GC thread to finish the work\n\t\t\t\t\t\t\t\t\t- truncate_inode_pages_range\n\t\t\t\t\t\t\t\t\t - __filemap_get_folio(, FGP_LOCK)  --- lock folio\n\t\t\t\t\t\t\t\t\t - truncate_inode_partial_folio\n\t\t\t\t\t\t\t\t\t  - folio_wait_writeback            --- wait on writeback being cleared\n\t\t\t\t\t- do_garbage_collect\n\t\t\t\t\t - move_data_page\n\t\t\t\t\t  - f2fs_get_lock_data_folio\n\t\t\t\t\t   - lock on folio  --- blocked on folio's lock\n\nIn order to avoid such deadlock, let's call below functions to commit\ncached bios in GC_MERGE path of f2fs_balance_fs() as the same as we did\nin NOGC_MERGE path.\n- f2fs_submit_merged_write(sbi, DATA);\n- f2fs_submit_all_merged_ipu_writes(sbi);","publishedAt":"2026-08-15T05:51:19.713Z","updatedAt":"2026-08-17T05:06:00.080Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"8071500a8124e5a6d47d901a8d5ffd91743107a1","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"eb02f218aacb36365e0ca2339cbae81fb05d31a5","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"1436031b33fa23ab1ce7df5bc5500093413e8acf","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"b885c7783c19c36c7bf899492a0bffcd68afa8c7","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"89479a27fa4e1e11f378b3724944eabceb84f114","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"aa807064473abd6f2cafe419fb77ea402d3e3104","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"8b4468ec023d0d1b4669dfb867588997cc03a06b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/segment.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.8","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.96","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.39","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/segment.c"]}],"references":["https://git.kernel.org/stable/c/8071500a8124e5a6d47d901a8d5ffd91743107a1","https://git.kernel.org/stable/c/eb02f218aacb36365e0ca2339cbae81fb05d31a5","https://git.kernel.org/stable/c/1436031b33fa23ab1ce7df5bc5500093413e8acf","https://git.kernel.org/stable/c/b885c7783c19c36c7bf899492a0bffcd68afa8c7","https://git.kernel.org/stable/c/89479a27fa4e1e11f378b3724944eabceb84f114","https://git.kernel.org/stable/c/aa807064473abd6f2cafe419fb77ea402d3e3104","https://git.kernel.org/stable/c/8b4468ec023d0d1b4669dfb867588997cc03a06b"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:49.727Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/68xxx/CVE-2026-68459.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-68459","state":"PUBLISHED","datePublished":"2026-08-15T05:51:19.713Z","dateUpdated":"2026-08-17T05:06:00.080Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-30T09:28:09.395Z"},"containers":{"cna":{"title":"f2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix potential deadlock in gc_merge path of f2fs_balance_fs()\n\nWhen we mount device w/ gc_merge mount option, we may suffer below\npotential deadlock:\n\nKworker\t\t\t\t\tGC trehad\t\t\tTruncator\n- f2fs_write_cache_pages\n - f2fs_write_single_data_page\n  - f2fs_do_write_data_page\n   - folio_start_writeback  --- set writeback flag on folio\n   - f2fs_outplace_write_data\n   : cached folio in internal bio cache\n  - f2fs_balance_fs\n   - wake_up(gc_thread)\n   : wake up gc thread to run foreground GC\n   - finish_wait(fggc_wq)\n   : wait on the waitqueue --- wait on GC thread to finish the work\n\t\t\t\t\t\t\t\t\t- truncate_inode_pages_range\n\t\t\t\t\t\t\t\t\t - __filemap_get_folio(, FGP_LOCK)  --- lock folio\n\t\t\t\t\t\t\t\t\t - truncate_inode_partial_folio\n\t\t\t\t\t\t\t\t\t  - folio_wait_writeback            --- wait on writeback being cleared\n\t\t\t\t\t- do_garbage_collect\n\t\t\t\t\t - move_data_page\n\t\t\t\t\t  - f2fs_get_lock_data_folio\n\t\t\t\t\t   - lock on folio  --- blocked on folio's lock\n\nIn order to avoid such deadlock, let's call below functions to commit\ncached bios in GC_MERGE path of f2fs_balance_fs() as the same as we did\nin NOGC_MERGE path.\n- f2fs_submit_merged_write(sbi, DATA);\n- f2fs_submit_all_merged_ipu_writes(sbi);"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"8071500a8124e5a6d47d901a8d5ffd91743107a1","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"eb02f218aacb36365e0ca2339cbae81fb05d31a5","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"1436031b33fa23ab1ce7df5bc5500093413e8acf","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"b885c7783c19c36c7bf899492a0bffcd68afa8c7","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"89479a27fa4e1e11f378b3724944eabceb84f114","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"aa807064473abd6f2cafe419fb77ea402d3e3104","versionType":"git"},{"version":"351df4b201157351c7d26bf12c3eeb9dbce98854","status":"affected","lessThan":"8b4468ec023d0d1b4669dfb867588997cc03a06b","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/segment.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"3.8","status":"affected"},{"version":"0","status":"unaffected","lessThan":"3.8","versionType":"semver"},{"version":"5.15.212","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"6.1.178","status":"unaffected","lessThanOrEqual":"6.1.*","versionType":"semver"},{"version":"6.6.145","status":"unaffected","lessThanOrEqual":"6.6.*","versionType":"semver"},{"version":"6.12.96","status":"unaffected","lessThanOrEqual":"6.12.*","versionType":"semver"},{"version":"6.18.39","status":"unaffected","lessThanOrEqual":"6.18.*","versionType":"semver"},{"version":"7.1.5","status":"unaffected","lessThanOrEqual":"7.1.*","versionType":"semver"},{"version":"7.2","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["fs/f2fs/segment.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/8071500a8124e5a6d47d901a8d5ffd91743107a1"},{"url":"https://git.kernel.org/stable/c/eb02f218aacb36365e0ca2339cbae81fb05d31a5"},{"url":"https://git.kernel.org/stable/c/1436031b33fa23ab1ce7df5bc5500093413e8acf"},{"url":"https://git.kernel.org/stable/c/b885c7783c19c36c7bf899492a0bffcd68afa8c7"},{"url":"https://git.kernel.org/stable/c/89479a27fa4e1e11f378b3724944eabceb84f114"},{"url":"https://git.kernel.org/stable/c/aa807064473abd6f2cafe419fb77ea402d3e3104"},{"url":"https://git.kernel.org/stable/c/8b4468ec023d0d1b4669dfb867588997cc03a06b"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T05:06:00.080Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"5.15.212"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.1.178"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.6.145"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.12.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"7.1.5"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"3.8","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}