Commit 80b6eb04 authored by Will Deacon's avatar Will Deacon

arm64: Don't walk page table for user faults in do_mem_abort

Commit 42dbf54e ("arm64: consistently log ESR and page table")
dumps page table entries for user faults hitting do_bad entries in the
fault handler table. Whilst this shouldn't really happen in practice,
it's not beyond the realms of possibility if e.g. running an old kernel
on a new CPU.

Generally, we want to avoid exposing physical addresses under the control
of userspace (see commit bf396c09 ("arm64: mm: don't print out page
table entries on EL0 faults")), so walk the page tables only on exceptions
from EL1.
Reported-by: default avatarKristina Martsenko <kristina.martsenko@arm.com>
Signed-off-by: default avatarWill Deacon <will.deacon@arm.com>
parent c80ed088
...@@ -698,7 +698,8 @@ asmlinkage void __exception do_mem_abort(unsigned long addr, unsigned int esr, ...@@ -698,7 +698,8 @@ asmlinkage void __exception do_mem_abort(unsigned long addr, unsigned int esr,
mem_abort_decode(esr); mem_abort_decode(esr);
show_pte(addr); if (!user_mode(regs))
show_pte(addr);
info.si_signo = inf->sig; info.si_signo = inf->sig;
info.si_errno = 0; info.si_errno = 0;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment