*         tlb_end_vma(tlb, vma);
  *       }
  *     }
- *     tlb_finish_mmu(tlb, start, end);        // finish unmap for address space MM
+ *     tlb_finish_mmu(tlb);                            // finish unmap for address space MM
  */
 #include <linux/mm.h>
 #include <linux/pagemap.h>
 
 
        tlb_gather_mmu(&tlb, mm, start, end);
        free_pgd_range(&tlb, start, end, start, end);
-       tlb_finish_mmu(&tlb, start, end);
+       tlb_finish_mmu(&tlb);
 #endif
 }
 
 
                free_pgd_range(&tlb, old_start, old_end, new_end,
                        vma->vm_next ? vma->vm_next->vm_start : USER_PGTABLES_CEILING);
        }
-       tlb_finish_mmu(&tlb, old_start, old_end);
+       tlb_finish_mmu(&tlb);
 
        /*
         * Shrink the vma to just the new range.  Always succeeds.
 
 struct mmu_gather;
 extern void tlb_gather_mmu(struct mmu_gather *tlb, struct mm_struct *mm,
                                unsigned long start, unsigned long end);
-extern void tlb_finish_mmu(struct mmu_gather *tlb,
-                               unsigned long start, unsigned long end);
+extern void tlb_finish_mmu(struct mmu_gather *tlb);
 
 static inline void init_tlb_flush_pending(struct mm_struct *mm)
 {
 
 
        tlb_gather_mmu(&tlb, mm, tlb_start, tlb_end);
        __unmap_hugepage_range(&tlb, vma, start, end, ref_page);
-       tlb_finish_mmu(&tlb, tlb_start, tlb_end);
+       tlb_finish_mmu(&tlb);
 }
 
 /*
 
        lru_add_drain();
        tlb_gather_mmu(&tlb, mm, start_addr, end_addr);
        madvise_cold_page_range(&tlb, vma, start_addr, end_addr);
-       tlb_finish_mmu(&tlb, start_addr, end_addr);
+       tlb_finish_mmu(&tlb);
 
        return 0;
 }
        lru_add_drain();
        tlb_gather_mmu(&tlb, mm, start_addr, end_addr);
        madvise_pageout_page_range(&tlb, vma, start_addr, end_addr);
-       tlb_finish_mmu(&tlb, start_addr, end_addr);
+       tlb_finish_mmu(&tlb);
 
        return 0;
 }
                        &madvise_free_walk_ops, &tlb);
        tlb_end_vma(&tlb, vma);
        mmu_notifier_invalidate_range_end(&range);
-       tlb_finish_mmu(&tlb, range.start, range.end);
+       tlb_finish_mmu(&tlb);
 
        return 0;
 }
 
        for ( ; vma && vma->vm_start < range.end; vma = vma->vm_next)
                unmap_single_vma(&tlb, vma, start, range.end, NULL);
        mmu_notifier_invalidate_range_end(&range);
-       tlb_finish_mmu(&tlb, start, range.end);
+       tlb_finish_mmu(&tlb);
 }
 
 /**
        mmu_notifier_invalidate_range_start(&range);
        unmap_single_vma(&tlb, vma, address, range.end, details);
        mmu_notifier_invalidate_range_end(&range);
-       tlb_finish_mmu(&tlb, address, range.end);
+       tlb_finish_mmu(&tlb);
 }
 
 /**
 
        unmap_vmas(&tlb, vma, start, end);
        free_pgtables(&tlb, vma, prev ? prev->vm_end : FIRST_USER_ADDRESS,
                                 next ? next->vm_start : USER_PGTABLES_CEILING);
-       tlb_finish_mmu(&tlb, start, end);
+       tlb_finish_mmu(&tlb);
 }
 
 /*
        /* Use -1 here to ensure all VMAs in the mm are unmapped */
        unmap_vmas(&tlb, vma, 0, -1);
        free_pgtables(&tlb, vma, FIRST_USER_ADDRESS, USER_PGTABLES_CEILING);
-       tlb_finish_mmu(&tlb, 0, -1);
+       tlb_finish_mmu(&tlb);
 
        /*
         * Walk the list again, actually closing and freeing it,
 
 /**
  * tlb_finish_mmu - finish an mmu_gather structure
  * @tlb: the mmu_gather structure to finish
- * @start: start of the region that will be removed from the page-table
- * @end: end of the region that will be removed from the page-table
  *
  * Called at the end of the shootdown operation to free up any resources that
  * were required.
  */
-void tlb_finish_mmu(struct mmu_gather *tlb,
-               unsigned long start, unsigned long end)
+void tlb_finish_mmu(struct mmu_gather *tlb)
 {
        /*
         * If there are parallel threads are doing PTE changes on same range
 
                                                vma->vm_end);
                        tlb_gather_mmu(&tlb, mm, range.start, range.end);
                        if (mmu_notifier_invalidate_range_start_nonblock(&range)) {
-                               tlb_finish_mmu(&tlb, range.start, range.end);
+                               tlb_finish_mmu(&tlb);
                                ret = false;
                                continue;
                        }
                        unmap_page_range(&tlb, vma, range.start, range.end, NULL);
                        mmu_notifier_invalidate_range_end(&range);
-                       tlb_finish_mmu(&tlb, range.start, range.end);
+                       tlb_finish_mmu(&tlb);
                }
        }