dump_instr function checks user_mode internally.
Signed-off-by: jinho lim <[email protected]>
---
arch/arm64/kernel/traps.c | 3 +--
1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
index ccc13b45d9b1..694e78b950ca 100644
--- a/arch/arm64/kernel/traps.c
+++ b/arch/arm64/kernel/traps.c
@@ -182,8 +182,7 @@ static int __die(const char *str, int err, struct pt_regs *regs)
print_modules();
show_regs(regs);
- if (!user_mode(regs))
- dump_instr(KERN_EMERG, regs);
+ dump_instr(KERN_EMERG, regs);
return ret;
}
--
2.13.0
On Wed, Jun 19, 2019 at 08:38:57PM +0900, jinho lim wrote:
> dump_instr function checks user_mode internally.
>
> Signed-off-by: jinho lim <[email protected]>
> ---
> arch/arm64/kernel/traps.c | 3 +--
> 1 file changed, 1 insertion(+), 2 deletions(-)
>
> diff --git a/arch/arm64/kernel/traps.c b/arch/arm64/kernel/traps.c
> index ccc13b45d9b1..694e78b950ca 100644
> --- a/arch/arm64/kernel/traps.c
> +++ b/arch/arm64/kernel/traps.c
> @@ -182,8 +182,7 @@ static int __die(const char *str, int err, struct pt_regs *regs)
> print_modules();
> show_regs(regs);
>
> - if (!user_mode(regs))
> - dump_instr(KERN_EMERG, regs);
> + dump_instr(KERN_EMERG, regs);
I don't think this is right, because it means we'll now dump the current
user instruction on the die() path.
Instead, we should probably rename dump_instr to dump_kernel_instr(),
and have it return immediately if user_mode(regs). We can also kill
__dump_instr completely.
Will