struct page *page;  
static inline void zap_pte(struct mm_struct *mm, struct vm_area_struct *vma,			unsigned long addr, pte_t *ptep){	pte_t pte = *ptep;	if (pte_none(pte))		return;	if (pte_present(pte)) {		unsigned long pfn = pte_pfn(pte);		struct page *page;		flush_cache_page(vma, addr, pfn);		pte = ptep_clear_flush(vma, addr, ptep);		if (unlikely(!pfn_valid(pfn))) {			print_bad_pte(vma, pte, addr);			return;		}		page = pfn_to_page(pfn);		if (pte_dirty(pte))			set_page_dirty(page);		page_remove_rmap(page);		page_cache_release(page);		dec_mm_counter(mm, file_rss);	} else {		if (!pte_file(pte))			free_swap_and_cache(pte_to_swp_entry(pte));		pte_clear(mm, addr, ptep);	}}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/861f2fb8e796022b4928cab9c74fca6681a1c557/fremap.c/buggy/mm/fremap.c