{"id":"CVE-2026-64415","state":"PUBLISHED","title":"mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup\n\nWe hit a real softlockup in an internal stress test environment.  The\nworkload was LTP memory/swap stress on a large arm64 machine, with 320\nCPUs, about 1TB memory and an 8.6GB swap device.  The system was under\nheavy load and the swap device had a large number of full clusters.  The\nsoftlockup was triggered during a stress test after about 3 days.\n\nSo, add periodic cond_resched() calls during large full_clusters\nreclaim operations to prevent softlockup issues.\n\nDetailed call trace as follow:\n\nPID: 3817773  TASK: ffff0883bb28b780  CPU: 48   COMMAND: \"kworker/48:7\"\n   #0 [ffff800080183d10] __crash_kexec at ffffa4c1361e5de4\n   #1 [ffff800080183d90] panic at ffffa4c1360d5e9c\n   #2 [ffff800080183e20] watchdog_timer_fn at ffffa4c136231fa8\n   ...\n  #16 [ffff8000c4ad3cb0] swap_cache_del_folio at ffffa4c1363e1614\n  #17 [ffff8000c4ad3ce0] __try_to_reclaim_swap at ffffa4c1363e4bfc\n  #18 [ffff8000c4ad3d40] swap_reclaim_full_clusters at ffffa4c1363e5474\n  #19 [ffff8000c4ad3da0] swap_reclaim_work at ffffa4c1363e550c\n  #20 [ffff8000c4ad3dc0] process_one_work at ffffa4c136102edc\n  #21 [ffff8000c4ad3e10] worker_thread at ffffa4c136103398\n  #22 [ffff8000c4ad3e70] kthread at ffffa4c13610d95c","publishedAt":"2026-07-25T08:50:55.226Z","updatedAt":"2026-08-17T04:55:14.532Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"60cbe67d1342f34b66df1c2ee328e3cd333767d7","versionType":"git"},{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"69c0e6246575b780ae0d3f411c749bcf13c221f3","versionType":"git"},{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"2a55fdf9f746a1a6ced7fd62ea1080b8a917e0b0","versionType":"git"},{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"66366d291f666ddeda5f8c84f253e308de3e6b55","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/swapfile.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.12","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.4","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":["mm/swapfile.c"]}],"references":["https://git.kernel.org/stable/c/60cbe67d1342f34b66df1c2ee328e3cd333767d7","https://git.kernel.org/stable/c/69c0e6246575b780ae0d3f411c749bcf13c221f3","https://git.kernel.org/stable/c/2a55fdf9f746a1a6ced7fd62ea1080b8a917e0b0","https://git.kernel.org/stable/c/66366d291f666ddeda5f8c84f253e308de3e6b55"],"weaknesses":[],"ingestedAt":"2026-10-29T20:12:41.951Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2026/64xxx/CVE-2026-64415.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2026-64415","state":"PUBLISHED","datePublished":"2026-07-25T08:50:55.226Z","dateUpdated":"2026-08-17T04:55:14.532Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2026-07-19T15:36:31.786Z"},"containers":{"cna":{"title":"mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nmm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup\n\nWe hit a real softlockup in an internal stress test environment.  The\nworkload was LTP memory/swap stress on a large arm64 machine, with 320\nCPUs, about 1TB memory and an 8.6GB swap device.  The system was under\nheavy load and the swap device had a large number of full clusters.  The\nsoftlockup was triggered during a stress test after about 3 days.\n\nSo, add periodic cond_resched() calls during large full_clusters\nreclaim operations to prevent softlockup issues.\n\nDetailed call trace as follow:\n\nPID: 3817773  TASK: ffff0883bb28b780  CPU: 48   COMMAND: \"kworker/48:7\"\n   #0 [ffff800080183d10] __crash_kexec at ffffa4c1361e5de4\n   #1 [ffff800080183d90] panic at ffffa4c1360d5e9c\n   #2 [ffff800080183e20] watchdog_timer_fn at ffffa4c136231fa8\n   ...\n  #16 [ffff8000c4ad3cb0] swap_cache_del_folio at ffffa4c1363e1614\n  #17 [ffff8000c4ad3ce0] __try_to_reclaim_swap at ffffa4c1363e4bfc\n  #18 [ffff8000c4ad3d40] swap_reclaim_full_clusters at ffffa4c1363e5474\n  #19 [ffff8000c4ad3da0] swap_reclaim_work at ffffa4c1363e550c\n  #20 [ffff8000c4ad3dc0] process_one_work at ffffa4c136102edc\n  #21 [ffff8000c4ad3e10] worker_thread at ffffa4c136103398\n  #22 [ffff8000c4ad3e70] kthread at ffffa4c13610d95c"}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"60cbe67d1342f34b66df1c2ee328e3cd333767d7","versionType":"git"},{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"69c0e6246575b780ae0d3f411c749bcf13c221f3","versionType":"git"},{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"2a55fdf9f746a1a6ced7fd62ea1080b8a917e0b0","versionType":"git"},{"version":"5168a68eb78fa1c67a8b2d31d0642c7fd866cc12","status":"affected","lessThan":"66366d291f666ddeda5f8c84f253e308de3e6b55","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["mm/swapfile.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"6.12","status":"affected"},{"version":"0","status":"unaffected","lessThan":"6.12","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.4","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":["mm/swapfile.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/60cbe67d1342f34b66df1c2ee328e3cd333767d7"},{"url":"https://git.kernel.org/stable/c/69c0e6246575b780ae0d3f411c749bcf13c221f3"},{"url":"https://git.kernel.org/stable/c/2a55fdf9f746a1a6ced7fd62ea1080b8a917e0b0"},{"url":"https://git.kernel.org/stable/c/66366d291f666ddeda5f8c84f253e308de3e6b55"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-08-17T04:55:14.532Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12","versionEndExcluding":"6.12.96"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12","versionEndExcluding":"6.18.39"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12","versionEndExcluding":"7.1.4"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"6.12","versionEndExcluding":"7.2"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}