/* If the vma has a ->close operation then the driver probably needs to release per-vma resources, so we don't attempt to merge those.  */
static int is_mergeable_vma(struct vm_area_struct *vma, struct file *file, unsigned long vm_flags)
/* If the vma has a ->close operation then the driver probably needs to release per-vma resources, so we don't attempt to merge those.  */
static int is_mergeable_vma(struct vm_area_struct *vma, struct file *file, unsigned long vm_flags)
{
	if ((vma->vm_flags ^ vm_flags) & ~VM_CAN_NONLINEAR)
		return 0;
	if (vma->vm_file != file)
		return 0;
	if (vma->vm_ops && vma->vm_ops->close)
		return 0;
	return 1;
}