mirror of https://gitee.com/openkylin/linux.git
arm64: Don't walk page table for user faults in do_mem_abort
Commit42dbf54e88
("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 commitbf396c09c2
("arm64: mm: don't print out page table entries on EL0 faults")), so walk the page tables only on exceptions from EL1. Reported-by: Kristina Martsenko <kristina.martsenko@arm.com> Signed-off-by: Will Deacon <will.deacon@arm.com>
This commit is contained in:
parent
c80ed088a5
commit
80b6eb04b5
|
@ -698,7 +698,8 @@ asmlinkage void __exception do_mem_abort(unsigned long addr, unsigned int esr,
|
|||
|
||||
mem_abort_decode(esr);
|
||||
|
||||
show_pte(addr);
|
||||
if (!user_mode(regs))
|
||||
show_pte(addr);
|
||||
|
||||
info.si_signo = inf->sig;
|
||||
info.si_errno = 0;
|
||||
|
|
Loading…
Reference in New Issue