spin_lock(&mm->page_table_lock); unmap_hugepage_range(vma, start, start + length); spin_unlock(&mm->page_table_lock); 
WARN_ON(!is_vm_hugetlb_page(vma)); BUG_ON(start & ~HPAGE_MASK); BUG_ON(end & ~HPAGE_MASK);  for (address = start; address < end; address += HPAGE_SIZE) { ptep = huge_pte_offset(mm, address); if (! ptep) /* This can happen on truncate, or if an * mmap() is aborted due to an error before * the prefault */ continue;  pte = huge_ptep_get_and_clear(mm, address, ptep); if (pte_none(pte)) continue;  page = pte_page(pte); put_page(page); add_mm_counter(mm, rss,  - (HPAGE_SIZE / PAGE_SIZE)); } flush_tlb_range(vma, start, end); 
void zap_hugepage_range(struct vm_area_struct *vma,			unsigned long start, unsigned long length){	struct mm_struct *mm = vma->vm_mm;	spin_lock(&mm->page_table_lock);	unmap_hugepage_range(vma, start, start + length);	spin_unlock(&mm->page_table_lock);}
4520	/local/tlutelli/issta_data/temp/c/2005_temp/2005/4520/1c59827d1da9bcd6970800d4f8a031b5859e8b4c/hugetlb.c/buggy/mm/hugetlb.c