out:
madvise_vma(struct vm_area_struct *vma, struct vm_area_struct **prev,		unsigned long start, unsigned long end, int behavior){	struct file *filp = vma->vm_file;	long error = -EBADF;	if (!filp)		goto  out;	switch (behavior) {	case MADV_NORMAL:	case MADV_SEQUENTIAL:	case MADV_RANDOM:		error = madvise_behavior(vma, prev, start, end, behavior);		break;	case MADV_WILLNEED:		error = madvise_willneed(vma, prev, start, end);		break;	case MADV_DONTNEED:		error = madvise_dontneed(vma, prev, start, end);		break;	default:		error = -EINVAL;		break;	}		out:	return error;}