Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1000 CNY

100.0%

CVE-2024-42234— mm: fix crashes from deferred split racing folio migration

EPSS 0.03% · P9
Get alerts for future matching vulnerabilitiesLog in to subscribe

I. Basic Information for CVE-2024-42234

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
mm: fix crashes from deferred split racing folio migration
Source: NVD (National Vulnerability Database)
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: mm: fix crashes from deferred split racing folio migration Even on 6.10-rc6, I've been seeing elusive "Bad page state"s (often on flags when freeing, yet the flags shown are not bad: PG_locked had been set and cleared??), and VM_BUG_ON_PAGE(page_ref_count(page) == 0)s from deferred_split_scan()'s folio_put(), and a variety of other BUG and WARN symptoms implying double free by deferred split and large folio migration. 6.7 commit 9bcef5973e31 ("mm: memcg: fix split queue list crash when large folio migration") was right to fix the memcg-dependent locking broken in 85ce2c517ade ("memcontrol: only transfer the memcg data for migration"), but missed a subtlety of deferred_split_scan(): it moves folios to its own local list to work on them without split_queue_lock, during which time folio->_deferred_list is not empty, but even the "right" lock does nothing to secure the folio and the list it is on. Fortunately, deferred_split_scan() is careful to use folio_try_get(): so folio_migrate_mapping() can avoid the race by folio_undo_large_rmappable() while the old folio's reference count is temporarily frozen to 0 - adding such a freeze in the !mapping case too (originally, folio lock and unmapping and no swap cache left an anon folio unreachable, so no freezing was needed there: but the deferred split queue offers a way to reach it).
Source: NVD (National Vulnerability Database)
CVSS Information
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Type
N/A
Source: NVD (National Vulnerability Database)
Vulnerability Title
Linux kernel 安全漏洞
Source: CNNVD (China National Vulnerability Database)
Vulnerability Description
Linux kernel是美国Linux基金会的开源操作系统Linux所使用的内核。 Linux kernel 存在安全漏洞,该漏洞源于 mm 模块中延迟分裂和大folio迁移之间的竞争条件,可能会导致崩溃。
Source: CNNVD (China National Vulnerability Database)
CVSS Information
N/A
Source: CNNVD (China National Vulnerability Database)
Vulnerability Type
N/A
Source: CNNVD (China National Vulnerability Database)

Affected Products

VendorProductAffected VersionsCPESubscribe
LinuxLinux 9bcef5973e31020e5aa8571eb994d67b77318356 ~ fc7facce686b64201dbf0b9614cc1d0bfad70010 -
LinuxLinux 6.7 -

II. Public POCs for CVE-2024-42234

#POC DescriptionSource LinkShenlong Link
AI-Generated POCPremium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2024-42234

登录查看更多情报信息。

Same Patch Batch · Linux · 2024-08-07 · 19 CVEs total

CVE-2024-42242mmc: sdhci: Fix max_seg_size for 64KiB PAGE_SIZE
CVE-2024-42232libceph: fix race between delayed_work() and ceph_monc_stop()
CVE-2024-42233filemap: replace pte_offset_map() with pte_offset_map_nolock()
CVE-2024-42235s390/mm: Add NULL pointer check to crst_table_free() base_crst_free()
CVE-2024-42236usb: gadget: configfs: Prevent OOB read/write in usb_string_copy()
CVE-2024-42237firmware: cs_dsp: Validate payload length before processing block
CVE-2024-42238firmware: cs_dsp: Return error if block header overflows file
CVE-2024-42239bpf: Fail bpf_timer_cancel when callback is being cancelled
CVE-2024-42240x86/bhi: Avoid warning in #DB handler due to BHI mitigation
CVE-2024-42250cachefiles: add missing lock protection when polling
CVE-2024-42241mm/shmem: disable PMD-sized page cache if needed
CVE-2024-42244USB: serial: mos7840: fix crash on resume
CVE-2024-42243mm/filemap: make MAX_PAGECACHE_ORDER acceptable to xarray
CVE-2024-42245Revert "sched/fair: Make sure to try to detach at least one movable task"
CVE-2024-42246net, sunrpc: Remap EPERM in case of connection failure in xs_tcp_setup_socket
CVE-2024-42247wireguard: allowedips: avoid unaligned 64-bit memory accesses
CVE-2024-42249spi: don't unoptimize message in spi_async()
CVE-2024-42248tty: serial: ma35d1: Add a NULL check for of_node

IV. Related Vulnerabilities

V. Comments for CVE-2024-42234

No comments yet


Leave a comment