page_cache_release(page); 
__xip_unmap (struct address_space * mapping,		     unsigned long pgoff){	struct vm_area_struct *vma;	struct mm_struct *mm;	struct prio_tree_iter iter;	unsigned long address;	pte_t *pte;	pte_t pteval;	spin_lock(&mapping->i_mmap_lock);	vma_prio_tree_foreach(vma, &iter, &mapping->i_mmap, pgoff, pgoff) {		mm = vma->vm_mm;		address = vma->vm_start +			((pgoff - vma->vm_pgoff) << PAGE_SHIFT);		BUG_ON(address < vma->vm_start || address >= vma->vm_end);		/*		 * We need the page_table_lock to protect us from page faults,		 * munmap, fork, etc...		 */		pte = page_check_address(ZERO_PAGE(address), mm,					 address);		if (!IS_ERR(pte)) {			/* Nuke the page table entry. */			flush_cache_page(vma, address, pte_pfn(*pte));			pteval = ptep_clear_flush(vma, address, pte);			BUG_ON(pte_dirty(pteval));			pte_unmap(pte);			spin_unlock(&mm->page_table_lock);		}	}	spin_unlock(&mapping->i_mmap_lock);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/b5810039a54e5babf428e9a1e89fc1940fabff11/filemap_xip.c/buggy/mm/filemap_xip.c