Re: LTP regressions due to 6dc296e7df4c ("mm: make sure all file VMAs have ->vm_ops set")

From: Oleg Nesterov
Date: Mon Sep 14 2015 - 13:08:46 EST


On 09/14, Kirill A. Shutemov wrote:
>
> Fix is below. I don't really like it, but I cannot find any better
> solution.

Me too...

But this change "documents" the nasty special "vm_file && !vm_ops" case, and
I am not sure how we can remove it later...

So perhaps we should change vma_is_anonymous() back to check ->fault too,

static inline bool vma_is_anonymous(struct vm_area_struct *vma)
{
- return !vma->vm_ops;
+ return !vma->vm_ops || !vma->vm_ops->fault;
}

and remove the "vma->vm_file && !vma->vm_ops" checks in mmap_region() paths.

I dunno.

Oleg.

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/