Note(1), this is called with mm->page_table_lock held. 
Note, this is called with pte lock held. 
void flush_cache_page(struct vm_area_struct *vma, unsigned long eaddr, unsigned long pfn){	/* Invalidate any entries in either cache for the vma within the user	   address space vma->vm_mm for the page starting at virtual address	   'eaddr'.   This seems to be used primarily in breaking COW.  Note,	   the I-cache must be searched too in case the page in question is	   both writable and being executed from (e.g. stack trampolines.)	   Note(1), this is called with mm->page_table_lock held.	   */	sh64_dcache_purge_phy_page(pfn << PAGE_SHIFT);	if (vma->vm_flags & VM_EXEC) {		sh64_icache_inv_user_page(vma, eaddr);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/60ec5585496871345c1a8113d7b60ed9d9474866/cache.c/buggy/arch/sh64/mm/cache.c