flush_cache_page(vma, addr, page_to_pfn(page)); 
flush_cache_page(vma, addr, pfn); 
make_coherent(struct vm_area_struct *vma, unsigned long addr, struct page *page, int dirty){	struct address_space *mapping = page_mapping(page);	struct mm_struct *mm = vma->vm_mm;	struct vm_area_struct *mpnt;	struct prio_tree_iter iter;	unsigned long offset;	pgoff_t pgoff;	int aliases = 0;	if (!mapping)		return;	pgoff = vma->vm_pgoff + ((addr - vma->vm_start) >> PAGE_SHIFT);	/*	 * If we have any shared mappings that are in the same mm	 * space, then we need to handle them specially to maintain	 * cache coherency.	 */	flush_dcache_mmap_lock(mapping);	vma_prio_tree_foreach(mpnt, &iter, &mapping->i_mmap, pgoff, pgoff) {		/*		 * If this VMA is not in our MM, we can ignore it.		 * Note that we intentionally mask out the VMA		 * that we are fixing up.		 */		if (mpnt->vm_mm != mm || mpnt == vma)			continue;		if (!(mpnt->vm_flags & VM_MAYSHARE))			continue;		offset = (pgoff - mpnt->vm_pgoff) << PAGE_SHIFT;		aliases += adjust_pte(mpnt, mpnt->vm_start + offset);	}	flush_dcache_mmap_unlock(mapping);	if (aliases)		adjust_pte(vma, addr);	else		flush_cache_page(vma, addr, page_to_pfn(page));}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8830f04a092b47f3d246271b24685cd9eab82027/fault-armv.c/buggy/arch/arm/mm/fault-armv.c