Upstream information
Description
In the Linux kernel, the following vulnerability has been resolved:mm: vmscan: account for free pages to prevent infinite Loop in throttle_direct_reclaim()
The task sometimes continues looping in throttle_direct_reclaim() because
allow_direct_reclaim(pgdat) keeps returning false.
#0 [ffff80002cb6f8d0] __switch_to at ffff8000080095ac
#1 [ffff80002cb6f900] __schedule at ffff800008abbd1c
#2 [ffff80002cb6f990] schedule at ffff800008abc50c
#3 [ffff80002cb6f9b0] throttle_direct_reclaim at ffff800008273550
#4 [ffff80002cb6fa20] try_to_free_pages at ffff800008277b68
#5 [ffff80002cb6fae0] __alloc_pages_nodemask at ffff8000082c4660
#6 [ffff80002cb6fc50] alloc_pages_vma at ffff8000082e4a98
#7 [ffff80002cb6fca0] do_anonymous_page at ffff80000829f5a8
#8 [ffff80002cb6fce0] __handle_mm_fault at ffff8000082a5974
#9 [ffff80002cb6fd90] handle_mm_fault at ffff8000082a5bd4
At this point, the pgdat contains the following two zones:
NODE: 4 ZONE: 0 ADDR: ffff00817fffe540 NAME: "DMA32"
SIZE: 20480 MIN/LOW/HIGH: 11/28/45
VM_STAT:
NR_FREE_PAGES: 359
NR_ZONE_INACTIVE_ANON: 18813
NR_ZONE_ACTIVE_ANON: 0
NR_ZONE_INACTIVE_FILE: 50
NR_ZONE_ACTIVE_FILE: 0
NR_ZONE_UNEVICTABLE: 0
NR_ZONE_WRITE_PENDING: 0
NR_MLOCK: 0
NR_BOUNCE: 0
NR_ZSPAGES: 0
NR_FREE_CMA_PAGES: 0
NODE: 4 ZONE: 1 ADDR: ffff00817fffec00 NAME: "Normal"
SIZE: 8454144 PRESENT: 98304 MIN/LOW/HIGH: 68/166/264
VM_STAT:
NR_FREE_PAGES: 146
NR_ZONE_INACTIVE_ANON: 94668
NR_ZONE_ACTIVE_ANON: 3
NR_ZONE_INACTIVE_FILE: 735
NR_ZONE_ACTIVE_FILE: 78
NR_ZONE_UNEVICTABLE: 0
NR_ZONE_WRITE_PENDING: 0
NR_MLOCK: 0
NR_BOUNCE: 0
NR_ZSPAGES: 0
NR_FREE_CMA_PAGES: 0
In allow_direct_reclaim(), while processing ZONE_DMA32, the sum of
inactive/active file-backed pages calculated in zone_reclaimable_pages()
based on the result of zone_page_state_snapshot() is zero.
Additionally, since this system lacks swap, the calculation of inactive/
active anonymous pages is skipped.
crash> p nr_swap_pages
nr_swap_pages = $1937 = {
counter = 0
}
As a result, ZONE_DMA32 is deemed unreclaimable and skipped, moving on to
the processing of the next zone, ZONE_NORMAL, despite ZONE_DMA32 having
free pages significantly exceeding the high watermark.
The problem is that the pgdat->kswapd_failures hasn't been incremented.
crash> px ((struct pglist_data *) 0xffff00817fffe540)->kswapd_failures
$1935 = 0x0
This is because the node deemed balanced. The node balancing logic in
balance_pgdat() evaluates all zones collectively. If one or more zones
(e.g., ZONE_DMA32) have enough free pages to meet their watermarks, the
entire node is deemed balanced. This causes balance_pgdat() to exit early
before incrementing the kswapd_failures, as it considers the overall
memory state acceptable, even though some zones (like ZONE_NORMAL) remain
under significant pressure.
The patch ensures that zone_reclaimable_pages() includes free pages
(NR_FREE_PAGES) in its calculation when no other reclaimable pages are
available (e.g., file-backed or anonymous pages). This change prevents
zones like ZONE_DMA32, which have sufficient free pages, from being
mistakenly deemed unreclaimable. By doing so, the patch ensures proper
node balancing, avoids masking pressure on other zones like ZONE_NORMAL,
and prevents infinite loops in throttle_direct_reclaim() caused by
allow_direct_reclaim(pgdat) repeatedly returning false.
The kernel hangs due to a task stuck in throttle_direct_reclaim(), caused
by a node being incorrectly deemed balanced despite pressure in certain
zones, such as ZONE_NORMAL. This issue arises from
zone_reclaimable_pages
---truncated---
SUSE information
Overall state of this security issue: Pending
This issue is currently rated as having moderate severity.
SUSE | |
---|---|
Base Score | 5.5 |
Vector | CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H |
Attack Vector | Local |
Attack Complexity | Low |
Privileges Required | Low |
User Interaction | None |
Scope | Unchanged |
Confidentiality Impact | None |
Integrity Impact | None |
Availability Impact | High |
CVSSv3 Version | 3.1 |
SUSE | |
---|---|
Base Score | 5.7 |
Vector | CVSS:4.0/AV:L/AC:H/AT:N/PR:L/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N |
Attack Vector | Local |
Attack Complexity | High |
Attack Requirements | None |
Privileges Required | Low |
User Interaction | None |
Vulnerable System Confidentiality Impact | None |
Vulnerable System Integrity Impact | None |
Vulnerable System Availability Impact | High |
Subsequent System Confidentiality Impact | None |
Subsequent System Integrity Impact | None |
Subsequent System Availability Impact | None |
CVSSv4 Version | 4.0 |
Status of this issue by product and package
Please note that this evaluation state might be work in progress, incomplete or outdated. Also information for service packs in the LTSS phase is only included for issues meeting the LTSS criteria. If in doubt, feel free to contact us for clarification. The updates are grouped by state of their lifecycle. SUSE product lifecycles are documented on the lifecycle page.
Product(s) | Source package | State |
---|---|---|
Products under general support and receiving all security fixes. | ||
SUSE Linux Enterprise Desktop 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise Desktop 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP6 | kernel-source-azure | Affected |
SUSE Linux Enterprise Live Patching 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise Live Patching 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.1 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.1 | kernel-rt | Affected |
SUSE Linux Enterprise Micro 5.1 | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.1 | kernel-source-rt | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-rt | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.2 | kernel-source-rt | Affected |
SUSE Linux Enterprise Micro 5.3 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.3 | kernel-rt | Affected |
SUSE Linux Enterprise Micro 5.3 | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.3 | kernel-source-rt | Affected |
SUSE Linux Enterprise Micro 5.4 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.4 | kernel-rt | Affected |
SUSE Linux Enterprise Micro 5.4 | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.4 | kernel-source-rt | Affected |
SUSE Linux Enterprise Micro 5.5 | kernel-default | Affected |
SUSE Linux Enterprise Micro 5.5 | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.5 | kernel-source-rt | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise Module for Public Cloud 15 SP6 | kernel-source-azure | Affected |
SUSE Linux Enterprise Real Time 15 SP6 | kernel-source-rt | Affected |
SUSE Linux Enterprise Server 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP6 | kernel-source-azure | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP6 | kernel-source-azure | Affected |
SUSE Linux Micro 6.0 | kernel-default | Affected |
SUSE Linux Micro 6.0 | kernel-source | Affected |
SUSE Linux Micro 6.0 | kernel-source-rt | Affected |
SUSE Linux Micro 6.1 | kernel-default | Affected |
SUSE Linux Micro 6.1 | kernel-source | Affected |
SUSE Linux Micro 6.1 | kernel-source-rt | Affected |
SUSE Manager Proxy 4.3 | kernel-default | Affected |
SUSE Manager Proxy 4.3 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.3 | kernel-default | Affected |
SUSE Manager Retail Branch Server 4.3 | kernel-source | Affected |
SUSE Manager Server 4.3 | kernel-default | Affected |
SUSE Manager Server 4.3 | kernel-source | Affected |
SUSE Real Time Module 15 SP6 | kernel-source-rt | Affected |
openSUSE Leap 15.6 | kernel-default | Affected |
openSUSE Leap 15.6 | kernel-source | Affected |
openSUSE Leap 15.6 | kernel-source-azure | Affected |
openSUSE Leap 15.6 | kernel-source-rt | Affected |
Products under Long Term Service Pack support and receiving important and critical security fixes. | ||
SUSE Linux Enterprise High Availability Extension 12 SP5 | kernel-default | Affected |
SUSE Linux Enterprise High Availability Extension 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP5 | kernel-source-azure | Unsupported |
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-default | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Live Patching 12 SP5 | kernel-default | Affected |
SUSE Linux Enterprise Live Patching 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Live Patching 15 SP3 | kernel-default | Affected |
SUSE Linux Enterprise Live Patching 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Live Patching 15 SP4 | kernel-default | Affected |
SUSE Linux Enterprise Live Patching 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Live Patching 15 SP5 | kernel-default | Affected |
SUSE Linux Enterprise Live Patching 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Module for Public Cloud 15 SP5 | kernel-source-azure | Unsupported |
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-default | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS EXTREME CORE | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP5 | kernel-source-azure | Affected |
SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP5-LTSS | kernel-source-azure | Affected |
SUSE Linux Enterprise Server 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP3-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP4-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP5 | kernel-source-azure | Unsupported |
SUSE Linux Enterprise Server 15 SP5-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP5-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server LTSS Extended Security 12 SP5 | kernel-source-azure | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-default | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP5 | kernel-source-azure | Unsupported |
Products past their end of life and not receiving proactive updates anymore. | ||
HPE Helion OpenStack 8 | kernel-source | Not affected |
SUSE CaaS Platform 4.0 | kernel-source | Affected |
SUSE CaaS Platform Toolchain 3 | kernel-source | Not affected |
SUSE Enterprise Storage 6 | kernel-source | Affected |
SUSE Enterprise Storage 7 | kernel-source | Affected |
SUSE Enterprise Storage 7.1 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 11 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 12 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 12 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Desktop 12 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Desktop 15 SP5 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise High Performance Computing 15-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Micro 5.0 | kernel-default | Affected |
SUSE Linux Enterprise Module for Basesystem 15 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Module for Basesystem 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Module for Development Tools 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Point of Sale 12 SP2-CLIENT | kernel-source | Not affected |
SUSE Linux Enterprise Real Time 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Real Time 15 SP3 | kernel-source | Affected |
SUSE Linux Enterprise Real Time 15 SP3 | kernel-source-rt | Affected |
SUSE Linux Enterprise Real Time 15 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Real Time 15 SP4 | kernel-source-rt | Affected |
SUSE Linux Enterprise Real Time 15 SP5 | kernel-source-rt | Affected |
SUSE Linux Enterprise Server 11 SP4 | kernel-source | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 11 SP4 LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 11 SP4-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP2-BCL | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP2-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP2-LTSS | kernel-default | Not affected |
SUSE Linux Enterprise Server 12 SP2-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3-BCL | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3-ESPOS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP3-LTSS | kernel-source | Not affected |
SUSE Linux Enterprise Server 12 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP4-ESPOS | kernel-source | Affected |
SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 12 SP4-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP1-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP1-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP2 | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP2-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15 SP2-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server 15 SP3-BCL | kernel-source | Affected |
SUSE Linux Enterprise Server 15-LTSS | kernel-default | Affected |
SUSE Linux Enterprise Server 15-LTSS | kernel-source | Affected |
SUSE Linux Enterprise Server for Raspberry Pi 12 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP2 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP3 | kernel-source | Not affected |
SUSE Linux Enterprise Server for SAP Applications 12 SP4 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP1 | kernel-source | Affected |
SUSE Linux Enterprise Server for SAP Applications 15 SP2 | kernel-source | Affected |
SUSE Manager Proxy 4.0 | kernel-source | Affected |
SUSE Manager Proxy 4.1 | kernel-source | Affected |
SUSE Manager Proxy 4.2 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.0 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.1 | kernel-source | Affected |
SUSE Manager Retail Branch Server 4.2 | kernel-source | Affected |
SUSE Manager Server 4.0 | kernel-source | Affected |
SUSE Manager Server 4.1 | kernel-source | Affected |
SUSE Manager Server 4.2 | kernel-source | Affected |
SUSE OpenStack Cloud 7 | kernel-source | Not affected |
SUSE OpenStack Cloud 8 | kernel-source | Not affected |
SUSE OpenStack Cloud 9 | kernel-source | Affected |
SUSE OpenStack Cloud Crowbar 8 | kernel-source | Not affected |
SUSE OpenStack Cloud Crowbar 9 | kernel-source | Affected |
SUSE Real Time Module 15 SP3 | kernel-source-rt | Affected |
SUSE Real Time Module 15 SP4 | kernel-source-rt | Affected |
SUSE Real Time Module 15 SP5 | kernel-source-rt | Affected |
openSUSE Leap 15.3 | kernel-source | Affected |
openSUSE Leap 15.3 | kernel-source-rt | Affected |
openSUSE Leap 15.4 | kernel-source | Affected |
openSUSE Leap 15.4 | kernel-source-azure | Unsupported |
openSUSE Leap 15.4 | kernel-source-rt | Affected |
openSUSE Leap 15.5 | kernel-source | Affected |
openSUSE Leap 15.5 | kernel-source-azure | Unsupported |
openSUSE Leap 15.5 | kernel-source-rt | Affected |
SUSE Timeline for this CVE
CVE page created: Wed Jan 15 16:00:31 2025CVE page last modified: Thu Jan 16 16:09:55 2025