CyberRota Analysis
AI-GeneratedThe vulnerability in the Linux kernel affects the memory hotplug functionality, specifically during the error handling of memory block creation. If a failure occurs after successful memory addition, the system may incorrectly handle memory mappings, leading to potential memory corruption and machine checks due to unowned pages being introduced into the buddy allocator. System administrators and developers managing Linux environments, particularly those utilizing memory hotplug features, should prioritize applying the fix to mitigate these risks.
Original NVD Description
In the Linux kernel, the following vulnerability has been resolved: mm/memory_hotplug: fix incorrect altmap passing in error path In create_altmaps_and_memory_blocks(), when arch_add_memory() succeeds with memmap_on_memory enabled, the vmemmap pages are allocated from params.altmap. If create_memory_block_devices() subsequently fails, the error path calls arch_remove_memory() with a NULL altmap instead of params.altmap. This is a bug that could lead to memory corruption. Since altmap is NULL, vmemmap_free() falls back to freeing the vmemmap pages into the system buddy allocator via free_pages() instead of the altmap. arch_remove_memory() then immediately destroys the physical linear mapping for this memory. This injects unowned pages into the buddy allocator, causing machine checks or memory corruption if the system later attempts to allocate and use those freed pages. Fix this by passing params.altmap to arch_remove_memory() in the error path.