{"id":"CVE-2026-89834","summary":"f2fs: fix to migrate all curseg types during free_segment_range","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nf2fs: fix to migrate all curseg types during free_segment_range\n\nIn free_segment_range(), the curseg evacuation loop only iterates up to\nNR_CURSEG_PERSIST_TYPE (0..5), missing non-persistent in-memory curseg\ntypes such as CURSEG_COLD_DATA_PINNED and CURSEG_ALL_DATA_ATGC.\n\nEven though these in-memory curseg types are not saved in the on-disk\ncheckpoint header, they still occupy active physical segments at runtime.\nIf an active in-memory curseg happens to be allocated within the segment\nrange being truncated during filesystem shrink, failing to evacuate it\nwill cause subsequent writes to the curseg attempting out-of-bounds I/O\non the truncated storage range.\n\nFix this by expanding the curseg evacuation loop upper bound to\nNR_CURSEG_TYPE to ensure all active curseg types are safely migrated\nout of the target range.","modified":"2026-09-18T03:48:33.265327379Z","published":"2026-09-16T10:31:07.093Z","database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89834.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/3b85edf3391f3e1f624f409a7d2d239885f567b7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/8ec06f50ddd8d201bd7e55b896ae28ed9d4cb7d1"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b8ae1228c153622afa71a179c9d4dc268117e0f0"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b9776094aa7118e8e5dfdcd791ffc8330c5ca408"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/89xxx/CVE-2026-89834.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-89834"},{"type":"PACKAGE","url":"https://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":"d0b9e42ab6155dc05fc83f00af9f45d4dd02264d"},{"fixed":"3b85edf3391f3e1f624f409a7d2d239885f567b7"},{"fixed":"b8ae1228c153622afa71a179c9d4dc268117e0f0"},{"fixed":"b9776094aa7118e8e5dfdcd791ffc8330c5ca408"},{"fixed":"8ec06f50ddd8d201bd7e55b896ae28ed9d4cb7d1"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89834.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"5.10.0"},{"fixed":"6.12.110"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.51"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"7.2.5"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-89834.json"}}],"schema_version":"1.9.0"}