CVE-2024-41031: mm/filemap: skip to create PMD-sized page cache if needed

Published Jul 29, 2024
·
Updated

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

mm/filemap: skip to create PMD-sized page cache if needed

On ARM64, HPAGEPMDORDER is 13 when the base page size is 64KB. The PMD-sized page cache can't be supported by xarray as the following error messages indicate.

------------[ cut here ]------------ WARNING: CPU: 35 PID: 7484 at lib/xarray.c:1025 xassplitalloc+0xf8/0x128 Modules linked in: nftfibinet nftfibipv4 nftfibipv6 nftfib \ nftrejectinet nfrejectipv4 nfrejectipv6 nftreject nftct \ nftchainnat nfnat nfconntrack nfdefragipv6 nfdefragipv4 \ ipset rfkill nftables nfnetlink vfat fat virtioballoon drm \ fuse xfs libcrc32c crct10difce ghashce sha2ce sha256arm64 \ sha1ce virtionet netfailover virtioconsole virtioblk failover \ dimlib virtiommio CPU: 35 PID: 7484 Comm: test Kdump: loaded Tainted: G W 6.10.0-rc5-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 : xassplitalloc+0xf8/0x128 lr : splithugepagetolisttoorder+0x1c4/0x720 sp : ffff800087a4f6c0 x29: ffff800087a4f6c0 x28: ffff800087a4f720 x27: 000000001fffffff x26: 0000000000000c40 x25: 000000000000000d x24: ffff00010625b858 x23: ffff800087a4f720 x22: ffffffdfc0780000 x21: 0000000000000000 x20: 0000000000000000 x19: ffffffdfc0780000 x18: 000000001ff40000 x17: 00000000ffffffff x16: 0000018000000000 x15: 51ec004000000000 x14: 0000e00000000000 x13: 0000000000002000 x12: 0000000000000020 x11: 51ec000000000000 x10: 51ece1c0ffff8000 x9 : ffffbeb961a44d28 x8 : 0000000000000003 x7 : ffffffdfc0456420 x6 : ffff0000e1aa6eb8 x5 : 20bf08b4fe778fca x4 : ffffffdfc0456420 x3 : 0000000000000c40 x2 : 000000000000000d x1 : 000000000000000c x0 : 0000000000000000 Call trace: xassplitalloc+0xf8/0x128 splithugepagetolisttoorder+0x1c4/0x720 truncateinodepartialfolio+0xdc/0x160 truncateinodepagesrange+0x1b4/0x4a8 truncatepagecacherange+0x84/0xa0 xfsflushunmaprange+0x70/0x90 [xfs] xfsfilefallocate+0xfc/0x4d8 [xfs] vfsfallocate+0x124/0x2e8 ksysfallocate+0x4c/0xa0 arm64sysfallocate+0x24/0x38 invokesyscall.constprop.0+0x7c/0xd8 doel0svc+0xb4/0xd0 el0svc+0x44/0x1d8 el0t64synchandler+0x134/0x150 el0t64sync+0x17c/0x180

Fix it by skipping to allocate PMD-sized page cache when its size is larger than MAXPAGECACHEORDER. For this specific case, we will fall to regular path where the readahead window is determined by BDI's sysfs file (readaheadkb).

Affected Software

13 affected componentsFixes available
redhat/kernel<6.6.41
6.6.41
redhat/kernel<6.9.10
6.9.10
redhat/kernel<6.10
6.10
debian/linux<=6.1.129-1, <=6.1.135-1
5.10.223-15.10.234-16.12.25-16.12.27-1
Linux Linux kernel>=5.18<6.6.41
Linux Linux kernel>=6.7<6.9.10
Linux Linux kernel=6.10-rc1
Linux Linux kernel=6.10-rc2
Linux Linux kernel=6.10-rc3
Linux Linux kernel=6.10-rc4
Linux Linux kernel=6.10-rc5
Linux Linux kernel=6.10-rc6
Linux Linux kernel=6.10-rc7

Event History

Jul 29, 2024
CVE Published
via MITRE·02:31 PM
Data Sourced
via MITRE·02:31 PM
Description
Data Sourced
via NVD·03:15 PM
Description
Data Sourced
via NVD·03:15 PM
RemedySeverityAffected Software
May 1, 2025
Data Sourced
via Ubuntu·12:32 AM
RemedyDescriptionSeverityAffected Software

Frequently Asked Questions

1

What is the severity of CVE-2024-41031?

CVE-2024-41031 has a medium severity level due to the potential for a denial-of-service condition.

2

How do I fix CVE-2024-41031?

To fix CVE-2024-41031, update the kernel to version 6.6.41, 6.9.10, or 6.10 for Red Hat, or specific versions for Debian as listed.

3

What systems are affected by CVE-2024-41031?

CVE-2024-41031 affects certain versions of the Linux kernel on Red Hat and Debian distributions.

4

What is the impact of CVE-2024-41031?

The impact of CVE-2024-41031 might include system instability or crashes if exploited.

5

Is there a workaround for CVE-2024-41031?

Currently, there is no known workaround for CVE-2024-41031 aside from applying the security update.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203