Files
linux-stable-mirror/mm
Wei Yang 592db83615 mm/huge_memory: fix NULL pointer deference when splitting folio
[ Upstream commit cff47b9e39 ]

Commit c010d47f10 ("mm: thp: split huge page to any lower order pages")
introduced an early check on the folio's order via mapping->flags before
proceeding with the split work.

This check introduced a bug: for shmem folios in the swap cache and
truncated folios, the mapping pointer can be NULL.  Accessing
mapping->flags in this state leads directly to a NULL pointer dereference.

This commit fixes the issue by moving the check for mapping != NULL before
any attempt to access mapping->flags.

Link: https://lkml.kernel.org/r/20251119235302.24773-1-richard.weiyang@gmail.com
Fixes: c010d47f10 ("mm: thp: split huge page to any lower order pages")
Signed-off-by: Wei Yang <richard.weiyang@gmail.com>
Reviewed-by: Zi Yan <ziy@nvidia.com>
Acked-by: David Hildenbrand (Red Hat) <david@kernel.org>
Reviewed-by: Baolin Wang <baolin.wang@linux.alibaba.com>
Cc: <stable@vger.kernel.org>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
[ applied fix to split_huge_page_to_list_to_order() instead of __folio_split() ]
Signed-off-by: Sasha Levin <sashal@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2025-12-07 06:25:02 +09:00
..
2024-09-03 21:15:36 -07:00
2024-09-09 16:38:59 -07:00
2025-05-18 08:24:51 +02:00
2025-09-19 16:35:48 +02:00
2024-09-03 21:15:31 -07:00
2024-11-05 16:49:55 -08:00
2024-09-03 21:15:31 -07:00
2025-09-09 18:58:22 +02:00