Re: [PATCH] mm: khugepaged: fix call hpage_collapse_scan_file() for anonymous vma
From: Matthew Wilcox
Date: Thu Jan 09 2025 - 23:32:21 EST
On Thu, Jan 09, 2025 at 09:00:24AM -0800, Yang Shi wrote:
> Thanks for catching this. It sounds a little bit weird to have vm_file for
> an anonymous VMA. I'm not sure why we should keep such special case. It
> seems shared mapping is treated as shmem file mapping. So can we set vm_file
> to NULL when mmap'ing /dev/zero for private mapping? Something like:
>
> diff --git a/drivers/char/mem.c b/drivers/char/mem.c
> index 169eed162a7f..fc332efc5c11 100644
> --- a/drivers/char/mem.c
> +++ b/drivers/char/mem.c
> @@ -527,6 +527,7 @@ static int mmap_zero(struct file *file, struct
> vm_area_struct *vma)
> if (vma->vm_flags & VM_SHARED)
> return shmem_zero_setup(vma);
> vma_set_anonymous(vma);
> + vma->vm_file = NULL;
> return 0;
> }
I'm wary this might cause other bugs somewhere. rc6 is a bit late to be
introducing such a subtle change.