 if (is_hugepage_only_range(mm, start, end - start)) hugetlb_free_pgtables(tlb, prev, start, end); else free_pgtables(tlb, prev, start, end); 
free_pgtables(&tlb, vma, prev? prev->vm_end: 0, next? next->vm_start: 0); 
static void unmap_region(struct mm_struct *mm,	struct vm_area_struct *vma,	struct vm_area_struct *prev,	unsigned long start,	unsigned long end){	struct mmu_gather *tlb;	unsigned long nr_accounted = 0;	lru_add_drain();	tlb = tlb_gather_mmu(mm, 0);	unmap_vmas(&tlb, mm, vma, start, end, &nr_accounted, NULL);	vm_unacct_memory(nr_accounted);	if (is_hugepage_only_range(mm, start, end - start))		hugetlb_free_pgtables(tlb, prev, start, end);	else		free_pgtables(tlb, prev, start, end);	tlb_finish_mmu(tlb, start, end);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/e0da382c92626ad1d7f4b7527d19b80104d67a83/mmap.c/buggy/mm/mmap.c