Upstream information

CVE-2024-42317 at MITRE

Description

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

mm/huge_memory: avoid PMD-size page cache if needed

xarray can't support arbitrary page cache size. the largest and supported
page cache size is defined as MAX_PAGECACHE_ORDER by commit 099d90642a71
("mm/filemap: make MAX_PAGECACHE_ORDER acceptable to xarray"). However,
it's possible to have 512MB page cache in the huge memory's collapsing
path on ARM64 system whose base page size is 64KB. 512MB page cache is
breaking the limitation and a warning is raised when the xarray entry is
split as shown in the following example.

[root@dhcp-10-26-1-207 ~]# cat /proc/1/smaps | grep KernelPageSize
KernelPageSize: 64 kB
[root@dhcp-10-26-1-207 ~]# cat /tmp/test.c
:
int main(int argc, char **argv)
{
const char *filename = TEST_XFS_FILENAME;
int fd = 0;
void *buf = (void *)-1, *p;
int pgsize = getpagesize();
int ret = 0;

if (pgsize != 0x10000) {
fprintf(stdout, "System with 64KB base page size is required!\n");
return -EPERM;
}

system("echo 0 > /sys/devices/virtual/bdi/253:0/read_ahead_kb");
system("echo 1 > /proc/sys/vm/drop_caches");

/* Open the xfs file */
fd = open(filename, O_RDONLY);
assert(fd > 0);

/* Create VMA */
buf = mmap(NULL, TEST_MEM_SIZE, PROT_READ, MAP_SHARED, fd, 0);
assert(buf != (void *)-1);
fprintf(stdout, "mapped buffer at 0x%p\n", buf);

/* Populate VMA */
ret = madvise(buf, TEST_MEM_SIZE, MADV_NOHUGEPAGE);
assert(ret == 0);
ret = madvise(buf, TEST_MEM_SIZE, MADV_POPULATE_READ);
assert(ret == 0);

/* Collapse VMA */
ret = madvise(buf, TEST_MEM_SIZE, MADV_HUGEPAGE);
assert(ret == 0);
ret = madvise(buf, TEST_MEM_SIZE, MADV_COLLAPSE);
if (ret) {
fprintf(stdout, "Error %d to madvise(MADV_COLLAPSE)\n", errno);
goto out;
}

/* Split xarray entry. Write permission is needed */
munmap(buf, TEST_MEM_SIZE);
buf = (void *)-1;
close(fd);
fd = open(filename, O_RDWR);
assert(fd > 0);
fallocate(fd, FALLOC_FL_KEEP_SIZE | FALLOC_FL_PUNCH_HOLE,
TEST_MEM_SIZE - pgsize, pgsize);
out:
if (buf != (void *)-1)
munmap(buf, TEST_MEM_SIZE);
if (fd > 0)
close(fd);

return ret;
}

[root@dhcp-10-26-1-207 ~]# gcc /tmp/test.c -o /tmp/test
[root@dhcp-10-26-1-207 ~]# /tmp/test
------------[ cut here ]------------
WARNING: CPU: 25 PID: 7560 at lib/xarray.c:1025 xas_split_alloc+0xf8/0x128
Modules linked in: nft_fib_inet nft_fib_ipv4 nft_fib_ipv6 nft_fib \
nft_reject_inet nf_reject_ipv4 nf_reject_ipv6 nft_reject nft_ct \
nft_chain_nat nf_nat nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 \
ip_set rfkill nf_tables nfnetlink vfat fat virtio_balloon drm fuse \
xfs libcrc32c crct10dif_ce ghash_ce sha2_ce sha256_arm64 virtio_net \
sha1_ce net_failover virtio_blk virtio_console failover dimlib virtio_mmio
CPU: 25 PID: 7560 Comm: test Kdump: loaded Not tainted 6.10.0-rc7-gavin+ #9
Hardware name: QEMU KVM Virtual Machine, BIOS edk2-20240524-1.el9 05/24/2024
pstate: 83400005 (Nzcv daif +PAN -UAO +TCO +DIT -SSBS BTYPE=--)
pc : xas_split_alloc+0xf8/0x128
lr : split_huge_page_to_list_to_order+0x1c4/0x780
sp : ffff8000ac32f660
x29: ffff8000ac32f660 x28: ffff0000e0969eb0 x27: ffff8000ac32f6c0
x26: 0000000000000c40 x25: ffff0000e0969eb0 x24: 000000000000000d
x23: ffff8000ac32f6c0 x22: ffffffdfc0700000 x21: 0000000000000000
x20: 0000000000000000 x19: ffffffdfc0700000 x18: 0000000000000000
x17: 0000000000000000 x16: ffffd5f3708ffc70 x15: 0000000000000000
x14: 0000000000000000 x13: 0000000000000000 x12: 0000000000000000
x11: ffffffffffffffc0 x10: 0000000000000040 x9 : ffffd5f3708e692c
x8 : 0000000000000003 x7 : 0000000000000000 x6 : ffff0000e0969eb8
x5 : ffffd5f37289e378 x4 : 0000000000000000 x3 : 0000000000000c40
x2 : 000000000000000d x1 : 000000000000000c x0 : 0000000000000000
Call trace:
xas_split_alloc+0xf8/0x128
split_huge_page_to_list_to_order+0x1c4/0x780
truncate_inode_partial_folio+0xdc/0x160
truncate_inode_pages_range+0x1b4/0x4a8
truncate_pagecache_range+0x84/0xa
---truncated---

SUSE information

Overall state of this security issue: Pending

This issue is currently rated as having moderate severity.

CVSS v3 Scores
  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 Bugzilla entry: 1229352 [NEW]

No SUSE Security Announcements cross referenced.


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 Enterprise Storage 7.1 kernel-source Not affected
SUSE Linux Enterprise Desktop 15 SP5 kernel-default Not affected
SUSE Linux Enterprise Desktop 15 SP5 kernel-source Not affected
SUSE Linux Enterprise Desktop 15 SP6 kernel-default Affected
SUSE Linux Enterprise Desktop 15 SP6 kernel-source Affected
SUSE Linux Enterprise High Performance Computing 12 SP5 kernel-default Not affected
SUSE Linux Enterprise High Performance Computing 12 SP5 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 12 SP5 kernel-source-azure Not affected
SUSE Linux Enterprise High Performance Computing 15 SP5 kernel-default Not affected
SUSE Linux Enterprise High Performance Computing 15 SP5 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP5 kernel-source-azure Not 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 Micro 5.1 kernel-default Not affected
SUSE Linux Enterprise Micro 5.1 kernel-rt Not affected
SUSE Linux Enterprise Micro 5.1 kernel-source-rt Not affected
SUSE Linux Enterprise Micro 5.2 kernel-default Not affected
SUSE Linux Enterprise Micro 5.2 kernel-rt Not affected
SUSE Linux Enterprise Micro 5.2 kernel-source-rt Not affected
SUSE Linux Enterprise Micro 5.3 kernel-default Not affected
SUSE Linux Enterprise Micro 5.3 kernel-rt Not affected
SUSE Linux Enterprise Micro 5.3 kernel-source-rt Not affected
SUSE Linux Enterprise Micro 5.4 kernel-default Not affected
SUSE Linux Enterprise Micro 5.4 kernel-rt Not affected
SUSE Linux Enterprise Micro 5.4 kernel-source-rt Not affected
SUSE Linux Enterprise Micro 5.5 kernel-source-rt Not affected
SUSE Linux Enterprise Micro 6.0 kernel-default Affected
SUSE Linux Enterprise Micro 6.0 kernel-source Affected
SUSE Linux Enterprise Micro 6.0 kernel-source-rt Affected
SUSE Linux Enterprise Module for Basesystem 15 SP5 kernel-default Not affected
SUSE Linux Enterprise Module for Basesystem 15 SP5 kernel-source Not 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 SP5 kernel-default Not affected
SUSE Linux Enterprise Module for Development Tools 15 SP5 kernel-source Not 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 SP5 kernel-source-azure Not affected
SUSE Linux Enterprise Module for Public Cloud 15 SP6 kernel-source-azure Affected
SUSE Linux Enterprise Real Time 12 SP5 kernel-source-rt Not affected
SUSE Linux Enterprise Real Time 15 SP5 kernel-source-rt Not affected
SUSE Linux Enterprise Real Time 15 SP6 kernel-source-rt Affected
SUSE Linux Enterprise Server 12 SP5 kernel-default Not affected
SUSE Linux Enterprise Server 12 SP5 kernel-source Not affected
SUSE Linux Enterprise Server 12 SP5 kernel-source-azure Not affected
SUSE Linux Enterprise Server 15 SP5 kernel-default Not affected
SUSE Linux Enterprise Server 15 SP5 kernel-source Not affected
SUSE Linux Enterprise Server 15 SP5 kernel-source-azure Not 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 12 SP5 kernel-default Not affected
SUSE Linux Enterprise Server for SAP Applications 12 SP5 kernel-source Not affected
SUSE Linux Enterprise Server for SAP Applications 12 SP5 kernel-source-azure Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP5 kernel-default Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP5 kernel-source Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP5 kernel-source-azure Not 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 Manager Proxy 4.3 kernel-default Not affected
SUSE Manager Proxy 4.3 kernel-source Not affected
SUSE Manager Retail Branch Server 4.3 kernel-default Not affected
SUSE Manager Retail Branch Server 4.3 kernel-source Not affected
SUSE Manager Server 4.3 kernel-default Not affected
SUSE Manager Server 4.3 kernel-source Not affected
SUSE Real Time Module 15 SP5 kernel-source-rt Not affected
SUSE Real Time Module 15 SP6 kernel-source-rt Affected
openSUSE Leap 15.5 kernel-default Not affected
openSUSE Leap 15.5 kernel-source Not affected
openSUSE Leap 15.5 kernel-source-azure Not affected
openSUSE Leap 15.5 kernel-source-rt Not 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 Desktop 15 SP4 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP2 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP2-ESPOS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-default Not affected
SUSE Linux Enterprise High Performance Computing 15 SP2-LTSS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP3 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP3-ESPOS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-default Not affected
SUSE Linux Enterprise High Performance Computing 15 SP3-LTSS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP4 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-default Not affected
SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-default Not affected
SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS kernel-source Not affected
SUSE Linux Enterprise Module for Basesystem 15 SP2 kernel-source Not affected
SUSE Linux Enterprise Module for Basesystem 15 SP3 kernel-source Not affected
SUSE Linux Enterprise Module for Basesystem 15 SP4 kernel-source Not affected
SUSE Linux Enterprise Module for Development Tools 15 SP2 kernel-source Not affected
SUSE Linux Enterprise Module for Development Tools 15 SP3 kernel-source Not affected
SUSE Linux Enterprise Module for Development Tools 15 SP4 kernel-source Not affected
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 15 SP2 kernel-source Not affected
SUSE Linux Enterprise Server 15 SP2-LTSS kernel-default Not affected
SUSE Linux Enterprise Server 15 SP2-LTSS kernel-source Not affected
SUSE Linux Enterprise Server 15 SP3 kernel-source Not affected
SUSE Linux Enterprise Server 15 SP3-LTSS kernel-default Not affected
SUSE Linux Enterprise Server 15 SP3-LTSS kernel-source Not affected
SUSE Linux Enterprise Server 15 SP4 kernel-source Not affected
SUSE Linux Enterprise Server 15 SP4-LTSS kernel-default Not affected
SUSE Linux Enterprise Server 15 SP4-LTSS kernel-source Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP2 kernel-default Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP2 kernel-source Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP3 kernel-default Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP3 kernel-source Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP4 kernel-default Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP4 kernel-source Not affected
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 Not affected
SUSE CaaS Platform Toolchain 3 kernel-source Not affected
SUSE Enterprise Storage 6 kernel-source Not affected
SUSE Enterprise Storage 7 kernel-source Not affected
SUSE Linux Enterprise Desktop 11 SP4 kernel-source Not affected
SUSE Linux Enterprise Desktop 12 SP3 kernel-source Not affected
SUSE Linux Enterprise Desktop 12 SP4 kernel-source Not affected
SUSE Linux Enterprise Desktop 15 kernel-source Not affected
SUSE Linux Enterprise Desktop 15 SP1 kernel-source Not affected
SUSE Linux Enterprise Desktop 15 SP2 kernel-source Not affected
SUSE Linux Enterprise Desktop 15 SP3 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP1 kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP1-ESPOS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15 SP1-LTSS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15-ESPOS kernel-source Not affected
SUSE Linux Enterprise High Performance Computing 15-LTSS kernel-source Not affected
SUSE Linux Enterprise Micro 5.0 kernel-default Not affected
SUSE Linux Enterprise Module for Basesystem 15 kernel-source Not affected
SUSE Linux Enterprise Module for Basesystem 15 SP1 kernel-source Not affected
SUSE Linux Enterprise Module for Development Tools 15 kernel-source Not affected
SUSE Linux Enterprise Module for Development Tools 15 SP1 kernel-source Not affected
SUSE Linux Enterprise Real Time 15 SP2 kernel-source Not affected
SUSE Linux Enterprise Real Time 15 SP3 kernel-source Not affected
SUSE Linux Enterprise Real Time 15 SP3 kernel-source-rt Not affected
SUSE Linux Enterprise Real Time 15 SP4 kernel-source Not affected
SUSE Linux Enterprise Real Time 15 SP4 kernel-source-rt Not 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 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 Not affected
SUSE Linux Enterprise Server 12 SP4-ESPOS kernel-source Not affected
SUSE Linux Enterprise Server 12 SP4-LTSS kernel-default Not affected
SUSE Linux Enterprise Server 12 SP4-LTSS kernel-source Not affected
SUSE Linux Enterprise Server 15 kernel-source Not affected
SUSE Linux Enterprise Server 15 SP1 kernel-source Not affected
SUSE Linux Enterprise Server 15 SP1-BCL kernel-source Not affected
SUSE Linux Enterprise Server 15 SP1-LTSS kernel-default Not affected
SUSE Linux Enterprise Server 15 SP1-LTSS kernel-source Not affected
SUSE Linux Enterprise Server 15 SP2-BCL kernel-source Not affected
SUSE Linux Enterprise Server 15 SP3-BCL kernel-source Not affected
SUSE Linux Enterprise Server 15-LTSS kernel-default Not affected
SUSE Linux Enterprise Server 15-LTSS 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 Not affected
SUSE Linux Enterprise Server for SAP Applications 15 kernel-source Not affected
SUSE Linux Enterprise Server for SAP Applications 15 SP1 kernel-source Not affected
SUSE Manager Proxy 4.0 kernel-source Not affected
SUSE Manager Proxy 4.1 kernel-source Not affected
SUSE Manager Proxy 4.2 kernel-source Not affected
SUSE Manager Retail Branch Server 4.0 kernel-source Not affected
SUSE Manager Retail Branch Server 4.1 kernel-source Not affected
SUSE Manager Retail Branch Server 4.2 kernel-source Not affected
SUSE Manager Server 4.0 kernel-source Not affected
SUSE Manager Server 4.1 kernel-source Not affected
SUSE Manager Server 4.2 kernel-source Not affected
SUSE OpenStack Cloud 8 kernel-source Not affected
SUSE OpenStack Cloud 9 kernel-source Not affected
SUSE OpenStack Cloud Crowbar 8 kernel-source Not affected
SUSE OpenStack Cloud Crowbar 9 kernel-source Not affected
SUSE Real Time Module 15 SP3 kernel-source-rt Not affected
SUSE Real Time Module 15 SP4 kernel-source-rt Not affected
openSUSE Leap 15.3 kernel-source Not affected
openSUSE Leap 15.3 kernel-source-rt Not affected
openSUSE Leap 15.4 kernel-source Not affected
openSUSE Leap 15.4 kernel-source-azure Unsupported
openSUSE Leap 15.4 kernel-source-rt Not affected


SUSE Timeline for this CVE

CVE page created: Sat Aug 17 12:00:44 2024
CVE page last modified: Sat Aug 24 19:42:15 2024