ptl = &mm->page_table_lock; 
ptl = pte_lockptr(mm, pmd); 
pte_t *page_check_address(struct page *page, struct mm_struct *mm,			  unsigned long address, spinlock_t **ptlp){	pgd_t *pgd;	pud_t *pud;	pmd_t *pmd;	pte_t *pte;	spinlock_t *ptl;	pgd = pgd_offset(mm, address);	if (!pgd_present(*pgd))		return NULL;	pud = pud_offset(pgd, address);	if (!pud_present(*pud))		return NULL;	pmd = pmd_offset(pud, address);	if (!pmd_present(*pmd))		return NULL;	pte = pte_offset_map(pmd, address);	/* Make a quick check before getting the lock */	if (!pte_present(*pte)) {		pte_unmap(pte);		return NULL;	}	ptl = &mm->page_table_lock;	spin_lock(ptl);	if (pte_present(*pte) && page_to_pfn(page) == pte_pfn(*pte)) {		*ptlp = ptl;		return pte;	}	pte_unmap_unlock(pte, ptl);	return NULL;}
10457	/local/tlutelli/issta_data/temp/c/2005_temp/2005/10457/4c21e2f2441dc5fbb957b030333f5a3f2d02dea7/rmap.c/buggy/mm/rmap.c