make_coherent(vma, addr, page, dirty); 
make_coherent(mapping, vma, addr, pfn); 
void update_mmu_cache(struct vm_area_struct *vma, unsigned long addr, pte_t pte){	unsigned long pfn = pte_pfn(pte);	struct page *page;	if (!pfn_valid(pfn))		return;	page = pfn_to_page(pfn);	if (page_mapping(page)) {		int dirty = test_and_clear_bit(PG_dcache_dirty, &page->flags);		if (dirty) {			/*			 * This is our first userspace mapping of this page.			 * Ensure that the physical page is coherent with			 * the kernel mapping.			 *			 * FIXME: only need to do this on VIVT and aliasing			 *        VIPT cache architectures.  We can do that			 *	  by choosing whether to set this bit...			 */			__cpuc_flush_dcache_page(page_address(page));		}		if (cache_is_vivt())			make_coherent(vma, addr, page, dirty);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/8830f04a092b47f3d246271b24685cd9eab82027/fault-armv.c/buggy/arch/arm/mm/fault-armv.c