pte_unmap(pte); spin_unlock(&mm->page_table_lock); 
pte_unmap_unlock(pte, ptl); 
__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;	struct page *page;	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);		page = ZERO_PAGE(address);		/*		 * We need the page_table_lock to protect us from page faults,		 * munmap, fork, etc...		 */		pte = page_check_address(page, 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);			page_remove_rmap(page);			dec_mm_counter(mm, file_rss);			BUG_ON(pte_dirty(pteval));			pte_unmap(pte);			spin_unlock(&mm->page_table_lock);			page_cache_release(page);		}	}	spin_unlock(&mapping->i_mmap_lock);}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/c0718806cf955d5eb51ea77bffb5b21d9bba4972/filemap_xip.c/clean/mm/filemap_xip.c