summaryrefslogtreecommitdiffstats
path: root/arch/arm64/mm/fault.c
diff options
context:
space:
mode:
authorGavin Shan <gshan@redhat.com>2021-06-14 14:27:01 +0200
committerWill Deacon <will@kernel.org>2021-06-15 13:39:30 +0200
commit84c5e23edecd7013ceaed8460deed5c33842cb8d (patch)
tree44ba48288bc02211326f6c71ab6e1ae8b489fdbf /arch/arm64/mm/fault.c
parentarm64/mm: Drop SECTION_[SHIFT|SIZE|MASK] (diff)
downloadlinux-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.c2
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)