arm64: simplify dump_mem
authorMark Rutland <mark.rutland@arm.com>
Mon, 13 Jun 2016 10:15:15 +0000 (11:15 +0100)
committerCatalin Marinas <catalin.marinas@arm.com>
Tue, 21 Jun 2016 14:47:31 +0000 (15:47 +0100)
commit7ceb3a1040524c32aa71df8807427e348fac49da
tree180288227c5b05b89dad6a1b6bf0e389ff08f7e4
parentbffe1baff5d57521b0c41b6997c41ff1993e9818
arm64: simplify dump_mem

Currently dump_mem attempts to dump memory in 64-bit chunks when
reporting a failure in 64-bit code, or 32-bit chunks when reporting a
failure in 32-bit code. We added code to handle these two cases
separately in commit e147ae6d7f908412 ("arm64: modify the dump mem for
64 bit addresses").

However, in all cases dump_mem is called, the failing context is a
kernel rather than user context. Additionally dump_mem is assumed to
only be used for kernel contexts, as internally it switches to
KERNEL_DS, and its callers pass kernel stack bounds.

This patch removes the redundant 32-bit chunk logic and associated
compat parameter, largely reverting the aforementioned commit. For the
call in __die(), the check of in_interrupt() is removed also, as __die()
is only called in response to faults from the kernel's exception level,
and thus the !user_mode(regs) check is sufficient. Were this not the
case, the used of task_stack_page(tsk) to generate the stack bounds
would be erroneous.

Signed-off-by: Mark Rutland <mark.rutland@arm.com>
Cc: Will Deacon <will.deacon@arm.com>
Signed-off-by: Catalin Marinas <catalin.marinas@arm.com>
arch/arm64/kernel/traps.c