diff options
| -rw-r--r-- | arch/arm64/include/asm/tlbflush.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/arch/arm64/include/asm/tlbflush.h b/arch/arm64/include/asm/tlbflush.h index 3a1870228946..dff8f9ea5754 100644 --- a/arch/arm64/include/asm/tlbflush.h +++ b/arch/arm64/include/asm/tlbflush.h | |||
| @@ -195,6 +195,9 @@ static inline void __flush_tlb_range(struct vm_area_struct *vma, | |||
| 195 | unsigned long asid = ASID(vma->vm_mm); | 195 | unsigned long asid = ASID(vma->vm_mm); |
| 196 | unsigned long addr; | 196 | unsigned long addr; |
| 197 | 197 | ||
| 198 | start = round_down(start, stride); | ||
| 199 | end = round_up(end, stride); | ||
| 200 | |||
| 198 | if ((end - start) >= (MAX_TLBI_OPS * stride)) { | 201 | if ((end - start) >= (MAX_TLBI_OPS * stride)) { |
| 199 | flush_tlb_mm(vma->vm_mm); | 202 | flush_tlb_mm(vma->vm_mm); |
| 200 | return; | 203 | return; |
