ptl = &mm->page_table_lock; 
ptl = pte_lockptr(mm, pmd); 
static int do_anonymous_page(struct mm_struct *mm, struct vm_area_struct *vma,		unsigned long address, pte_t *page_table, pmd_t *pmd,		int write_access){	struct page *page;	spinlock_t *ptl;	pte_t entry;	if (write_access) {		/* Allocate our own private page. */		pte_unmap(page_table);		if (unlikely(anon_vma_prepare(vma)))			goto oom;		page = alloc_zeroed_user_highpage(vma, address);		if (!page)			goto oom;		entry = mk_pte(page, vma->vm_page_prot);		entry = maybe_mkwrite(pte_mkdirty(entry), vma);		page_table = pte_offset_map_lock(mm, pmd, address, &ptl);		if (!pte_none(*page_table))			goto release;		inc_mm_counter(mm, anon_rss);		lru_cache_add_active(page);		SetPageReferenced(page);		page_add_anon_rmap(page, vma, address);	} else {		/* Map the ZERO_PAGE - vm_page_prot is readonly */		page = ZERO_PAGE(address);		page_cache_get(page);		entry = mk_pte(page, vma->vm_page_prot);		ptl = &mm->page_table_lock;		spin_lock(ptl);		if (!pte_none(*page_table))			goto release;		inc_mm_counter(mm, file_rss);		page_add_file_rmap(page);	}	set_pte_at(mm, address, page_table, entry);	/* No need to invalidate - it was non-present before */	update_mmu_cache(vma, address, entry);	lazy_mmu_prot_update(entry);unlock:	pte_unmap_unlock(page_table, ptl);	return VM_FAULT_MINOR;release:	page_cache_release(page);	goto unlock;oom:	return VM_FAULT_OOM;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4c21e2f2441dc5fbb957b030333f5a3f2d02dea7/memory.c/clean/mm/memory.c