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

mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup

We hit a real softlockup in an internal stress test environment. The
workload was LTP memory/swap stress on a large arm64 machine, with 320
CPUs, about 1TB memory and an 8.6GB swap device. The system was under
heavy load and the swap device had a large number of full clusters. The
softlockup was triggered during a stress test after about 3 days.

So, add periodic cond_resched() calls during large full_clusters
reclaim operations to prevent softlockup issues.

Detailed call trace as follow:

PID: 3817773 TASK: ffff0883bb28b780 CPU: 48 COMMAND: "kworker/48:7"
#0 [ffff800080183d10] __crash_kexec at ffffa4c1361e5de4
#1 [ffff800080183d90] panic at ffffa4c1360d5e9c
#2 [ffff800080183e20] watchdog_timer_fn at ffffa4c136231fa8
...
#16 [ffff8000c4ad3cb0] swap_cache_del_folio at ffffa4c1363e1614
#17 [ffff8000c4ad3ce0] __try_to_reclaim_swap at ffffa4c1363e4bfc
#18 [ffff8000c4ad3d40] swap_reclaim_full_clusters at ffffa4c1363e5474
#19 [ffff8000c4ad3da0] swap_reclaim_work at ffffa4c1363e550c
#20 [ffff8000c4ad3dc0] process_one_work at ffffa4c136102edc
#21 [ffff8000c4ad3e10] worker_thread at ffffa4c136103398
#22 [ffff8000c4ad3e70] kthread at ffffa4c13610d95c
Published: 2026-07-25
Score: 5.5 Medium
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The kernel lacked a periodic cond_resched() call inside swap_reclaim_full_clusters, allowing the reclamation loop to run for extended periods without relinquishing control to the scheduler. This failure can result in a softlockup of a worker thread and, under sustained heavy memory and swap activity, the kernel eventually panics. The flaw is related to resource exhaustion and improper scheduling control, aligning with CWE-667 and CWE-770. The impact is a loss of availability for the affected system, while confidentiality and integrity remain unaffected.

Affected Systems

The vulnerability is present in the Linux kernel’s mm/swap code, which exists on all architectures where swap_reclaim_full_clusters is compiled. The detailed stack trace references an arm64 environment with a 320‑CPU, 1 TB machine, implying that arm64 is a confirmed affected platform. Based on the code location, kernels that have not yet incorporated the patch that adds cond_resched() in this function are potentially affected; however, no explicit version range is given in the supplied data.

Risk and Exploitability

The EPSS score is reported as < 1 %, indicating a very low likelihood of exploitation, and the vulnerability is not listed in the CISA KEV catalog. Attackers would need to execute a local or privileged workload that triggers large‑scale swap reclamation under heavy memory pressure, which is unlikely in typical operational environments. The CVSS score is 5.5, suggesting moderate severity. Overall, the risk is moderate due to the availability impact but low exploitation probability, especially when normal workloads do not exercise the problematic path.

Generated by OpenCVE AI on September 4, 2026 at 16:27 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Apply the kernel patch that inserts periodic cond_resched() calls into swap_reclaim_full_clusters (available in the commit references linked in the advisory) or upgrade to a kernel release that includes this fix.
  • If upgrading is not immediately possible, reduce swap pressure by lowering swappiness or limiting the number of full swap clusters; this mitigates the chance of triggering the problematic reclamation loop.
  • Enable kernel watchdogs or configure kexec to automatically reboot when a softlockup is detected, helping to maintain service availability until the patch is applied.
  • Monitor system logs for swap reclamation delays or softlockup warnings and adjust resource limits accordingly.

Generated by OpenCVE AI on September 4, 2026 at 16:27 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DLA Debian DLA DLA-4724-1 linux-6.12 new package
History

Fri, 04 Sep 2026 15:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-667
CPEs cpe:2.3:o:linux:linux_kernel:6.12:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc6:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.12:rc7:*:*:*:*:*:*
Metrics cvssV3_1

{'score': 5.5, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H'}


Tue, 04 Aug 2026 14:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-749

Wed, 29 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-770
References

Mon, 27 Jul 2026 05:45:00 +0000

Type Values Removed Values Added
Weaknesses CWE-749

Sat, 25 Jul 2026 09:30:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup We hit a real softlockup in an internal stress test environment. The workload was LTP memory/swap stress on a large arm64 machine, with 320 CPUs, about 1TB memory and an 8.6GB swap device. The system was under heavy load and the swap device had a large number of full clusters. The softlockup was triggered during a stress test after about 3 days. So, add periodic cond_resched() calls during large full_clusters reclaim operations to prevent softlockup issues. Detailed call trace as follow: PID: 3817773 TASK: ffff0883bb28b780 CPU: 48 COMMAND: "kworker/48:7" #0 [ffff800080183d10] __crash_kexec at ffffa4c1361e5de4 #1 [ffff800080183d90] panic at ffffa4c1360d5e9c #2 [ffff800080183e20] watchdog_timer_fn at ffffa4c136231fa8 ... #16 [ffff8000c4ad3cb0] swap_cache_del_folio at ffffa4c1363e1614 #17 [ffff8000c4ad3ce0] __try_to_reclaim_swap at ffffa4c1363e4bfc #18 [ffff8000c4ad3d40] swap_reclaim_full_clusters at ffffa4c1363e5474 #19 [ffff8000c4ad3da0] swap_reclaim_work at ffffa4c1363e550c #20 [ffff8000c4ad3dc0] process_one_work at ffffa4c136102edc #21 [ffff8000c4ad3e10] worker_thread at ffffa4c136103398 #22 [ffff8000c4ad3e70] kthread at ffffa4c13610d95c
Title mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-08-17T04:55:14.532Z

Reserved: 2026-07-19T15:36:31.786Z

Link: CVE-2026-64415

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-07-25T10:17:25.343

Modified: 2026-09-04T15:25:09.633

Link: CVE-2026-64415

cve-icon Redhat

Severity :

Publid Date: 2026-07-25T08:50:55Z

Links: CVE-2026-64415 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-04T16:30:06Z

Weaknesses
  • CWE-667

    Improper Locking

  • CWE-770

    Allocation of Resources Without Limits or Throttling