Commit c45b3549 authored by Thorsten Blum's avatar Thorsten Blum Committed by Andrew Morton
Browse files

mm/hugetlb: fix early boot crash on parameters without '=' separator

If hugepages, hugepagesz, or default_hugepagesz are specified on the
kernel command line without the '=' separator, early parameter parsing
passes NULL to hugetlb_add_param(), which dereferences it in strlen() and
can crash the system during early boot.

Reject NULL values in hugetlb_add_param() and return -EINVAL instead.

Link: https://lore.kernel.org/20260409105437.108686-4-thorsten.blum@linux.dev


Fixes: 5b47c029 ("mm/hugetlb: convert cmdline parameters from setup to early")
Signed-off-by: default avatarThorsten Blum <thorsten.blum@linux.dev>
Reviewed-by: default avatarMuchun Song <muchun.song@linux.dev>
Cc: David Hildenbrand <david@kernel.org>
Cc: Frank van der Linden <fvdl@google.com>
Cc: Oscar Salvador <osalvador@suse.de>
Cc: <stable@vger.kernel.org>
Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
parent 2f529e73
Loading
Loading
Loading
Loading
+3 −0
Original line number Diff line number Diff line
@@ -4226,6 +4226,9 @@ static __init int hugetlb_add_param(char *s, int (*setup)(char *))
	size_t len;
	char *p;

	if (!s)
		return -EINVAL;

	if (hugetlb_param_index >= HUGE_MAX_CMDLINE_ARGS)
		return -EINVAL;