Re: [External] Re: [PATCH] mm: hugetlb: Only prep and add allocated folios for non-gigantic pages

From: Konrad Dybcio
Date: Tue Oct 10 2023 - 17:32:08 EST




On 10/10/23 23:30, Mike Kravetz wrote:
On 10/10/23 18:01, Usama Arif wrote:


On 10/10/2023 02:23, Mike Kravetz wrote:
On 10/09/23 15:56, Usama Arif wrote:
Calling prep_and_add_allocated_folios when allocating gigantic pages
at boot time causes the kernel to crash as folio_list is empty
and iterating it causes a NULL pointer dereference. Call this only
for non-gigantic pages when folio_list has entires.

Thanks!

However, are you sure the issue is the result of iterating through a
NULL list? For reference, the routine prep_and_add_allocated_folios is:


Yes, you are right, it wasnt an issue with the list, but the lock. If I do
the below diff it boots.

Thanks!

I believe that may be that may be the root cause of boot issues with
this series. It is unfortunate that the failures were not consistent
and did not directly point at the root cause.

Hopefully, these changes will resolve the boot issues for Konrad as well.

I will create a new version of the "Batch hugetlb vmemmap modification
operations" series with these locking changes.
We sent a reply at the same time :P [1]

Konrad

[1] https://lore.kernel.org/all/6f381d4c-d908-4f00-89b3-ed3bcb26b143@xxxxxxxxxx/