diff options
author | Gavin Shan <gshan@redhat.com> | 2021-06-14 14:27:01 +0200 |
---|---|---|
committer | Will Deacon <will@kernel.org> | 2021-06-15 13:39:30 +0200 |
commit | 84c5e23edecd7013ceaed8460deed5c33842cb8d (patch) | |
tree | 44ba48288bc02211326f6c71ab6e1ae8b489fdbf /arch/arm64/mm/fault.c | |
parent | arm64/mm: Drop SECTION_[SHIFT|SIZE|MASK] (diff) | |
download | linux-84c5e23edecd7013ceaed8460deed5c33842cb8d.tar.xz linux-84c5e23edecd7013ceaed8460deed5c33842cb8d.zip |
arm64: mm: Pass original fault address to handle_mm_fault()
Currently, the lower bits of fault address is cleared before it's
passed to handle_mm_fault(). It's unnecessary since generic code
does same thing since the commit 1a29d85eb0f19 ("mm: use vmf->address
instead of of vmf->virtual_address").
This passes the original fault address to handle_mm_fault() in case
the generic code needs to know the exact fault address.
Signed-off-by: Gavin Shan <gshan@redhat.com>
Acked-by: Catalin Marinas <catalin.marinas@arm.com>
Reviewed-by: Anshuman Khandual <anshuman.khandual@arm.com>
Link: https://lore.kernel.org/r/20210614122701.100515-1-gshan@redhat.com
Signed-off-by: Will Deacon <will@kernel.org>
Diffstat (limited to 'arch/arm64/mm/fault.c')
-rw-r--r-- | arch/arm64/mm/fault.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm64/mm/fault.c b/arch/arm64/mm/fault.c index 6786cf152666..bd9a0bb5fb56 100644 --- a/arch/arm64/mm/fault.c +++ b/arch/arm64/mm/fault.c @@ -509,7 +509,7 @@ static vm_fault_t __do_page_fault(struct mm_struct *mm, unsigned long addr, */ if (!(vma->vm_flags & vm_flags)) return VM_FAULT_BADACCESS; - return handle_mm_fault(vma, addr & PAGE_MASK, mm_flags, regs); + return handle_mm_fault(vma, addr, mm_flags, regs); } static bool is_el0_instruction_abort(unsigned int esr) |