diff options
Diffstat (limited to 'fs')
-rw-r--r-- | fs/exec.c | 10 |
1 files changed, 5 insertions, 5 deletions
@@ -600,7 +600,7 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) | |||
600 | unsigned long length = old_end - old_start; | 600 | unsigned long length = old_end - old_start; |
601 | unsigned long new_start = old_start - shift; | 601 | unsigned long new_start = old_start - shift; |
602 | unsigned long new_end = old_end - shift; | 602 | unsigned long new_end = old_end - shift; |
603 | struct mmu_gather *tlb; | 603 | struct mmu_gather tlb; |
604 | 604 | ||
605 | BUG_ON(new_start > new_end); | 605 | BUG_ON(new_start > new_end); |
606 | 606 | ||
@@ -626,12 +626,12 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) | |||
626 | return -ENOMEM; | 626 | return -ENOMEM; |
627 | 627 | ||
628 | lru_add_drain(); | 628 | lru_add_drain(); |
629 | tlb = tlb_gather_mmu(mm, 0); | 629 | tlb_gather_mmu(&tlb, mm, 0); |
630 | if (new_end > old_start) { | 630 | if (new_end > old_start) { |
631 | /* | 631 | /* |
632 | * when the old and new regions overlap clear from new_end. | 632 | * when the old and new regions overlap clear from new_end. |
633 | */ | 633 | */ |
634 | free_pgd_range(tlb, new_end, old_end, new_end, | 634 | free_pgd_range(&tlb, new_end, old_end, new_end, |
635 | vma->vm_next ? vma->vm_next->vm_start : 0); | 635 | vma->vm_next ? vma->vm_next->vm_start : 0); |
636 | } else { | 636 | } else { |
637 | /* | 637 | /* |
@@ -640,10 +640,10 @@ static int shift_arg_pages(struct vm_area_struct *vma, unsigned long shift) | |||
640 | * have constraints on va-space that make this illegal (IA64) - | 640 | * have constraints on va-space that make this illegal (IA64) - |
641 | * for the others its just a little faster. | 641 | * for the others its just a little faster. |
642 | */ | 642 | */ |
643 | free_pgd_range(tlb, old_start, old_end, new_end, | 643 | free_pgd_range(&tlb, old_start, old_end, new_end, |
644 | vma->vm_next ? vma->vm_next->vm_start : 0); | 644 | vma->vm_next ? vma->vm_next->vm_start : 0); |
645 | } | 645 | } |
646 | tlb_finish_mmu(tlb, new_end, old_end); | 646 | tlb_finish_mmu(&tlb, new_end, old_end); |
647 | 647 | ||
648 | /* | 648 | /* |
649 | * Shrink the vma to just the new range. Always succeeds. | 649 | * Shrink the vma to just the new range. Always succeeds. |