On 09/14, Oleg Nesterov wrote: > > 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. ^^^ sorry, I actually meant "or remove". But perhaps "and" makes sense too. Say, if we change vma_is_anonymous() as above, then we can kill arch_vma_name() on x86. mpx_mmap() can install the dummy vm_ops with the single ->name() method. > I dunno. Yes. Up to you. Oleg. -- To unsubscribe, send a message with 'unsubscribe linux-mm' in the body to majordomo@xxxxxxxxx. For more info on Linux MM, see: http://www.linux-mm.org/ . Don't email: <a href=mailto:"dont@xxxxxxxxx"> email@xxxxxxxxx </a>