filemap_msync(vma, addr, end); 
msync_page_range(vma, addr, end); 
static int msync_interval(struct vm_area_struct *vma,			unsigned long addr, unsigned long end, int flags){	int ret = 0;	struct file *file = vma->vm_file;	if ((flags & MS_INVALIDATE) && (vma->vm_flags & VM_LOCKED))		return -EBUSY;	if (file && (vma->vm_flags & VM_SHARED)) {		filemap_msync(vma, addr, end);		if (flags & MS_SYNC) {			struct address_space *mapping = file->f_mapping;			int err;			ret = filemap_fdatawrite(mapping);			if (file->f_op && file->f_op->fsync) {				/*				 * We don't take i_sem here because mmap_sem				 * is already held.				 */				err = file->f_op->fsync(file,file->f_dentry,1);				if (err && !ret)					ret = err;			}			err = filemap_fdatawait(mapping);			if (!ret)				ret = err;		}	}	return ret;}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/0c942a4539c09adf09097315cc174aefd0eeedf7/msync.c/buggy/mm/msync.c