Re: [PATCH RFC v8 17/56] x86/fault: Add support to handle the RMP fault for user address

From: Dave Hansen
Date: Wed Mar 01 2023 - 11:21:26 EST


On 2/20/23 10:38, Michael Roth wrote:
> +static int handle_split_page_fault(struct vm_fault *vmf)
> +{
> + __split_huge_pmd(vmf->vma, vmf->pmd, vmf->address, false, NULL);
> + return 0;
> +}
> +
> /*
> * By the time we get here, we already hold the mm semaphore
> *
> @@ -5078,6 +5084,10 @@ static vm_fault_t __handle_mm_fault(struct vm_area_struct *vma,
> pmd_migration_entry_wait(mm, vmf.pmd);
> return 0;
> }
> +
> + if (flags & FAULT_FLAG_PAGE_SPLIT)
> + return handle_split_page_fault(&vmf);

I asked this long ago, but how do you prevent these faults from
occurring on hugetlbfs mappings that can't be split?