2024-02-13 10:26:06

by Andreas Schwab

[permalink] [raw]
Subject: [PATCH] riscv: use KERN_INFO in do_trap

Print the instruction dump with info instead of emergency level like the
rest of the output when printing the information for an unhandled signal.

Fixes: b8a03a634129 ("riscv: add userland instruction dump to RISC-V splats")
Signed-off-by: Andreas Schwab <[email protected]>
---
arch/riscv/kernel/traps.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
index a1b9be3c4332..142f5f5168fb 100644
--- a/arch/riscv/kernel/traps.c
+++ b/arch/riscv/kernel/traps.c
@@ -121,7 +121,7 @@ void do_trap(struct pt_regs *regs, int signo, int code, unsigned long addr)
print_vma_addr(KERN_CONT " in ", instruction_pointer(regs));
pr_cont("\n");
__show_regs(regs);
- dump_instr(KERN_EMERG, regs);
+ dump_instr(KERN_INFO, regs);
}

force_sig_fault(signo, code, (void __user *)addr);
--
2.43.1


--
Andreas Schwab, SUSE Labs, [email protected]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."


2024-02-14 09:26:33

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH] riscv: use KERN_INFO in do_trap

On Tue, Feb 13, 2024 at 10:59:58AM +0100, Andreas Schwab wrote:
> Print the instruction dump with info instead of emergency level like the
> rest of the output when printing the information for an unhandled signal.

I'm not entirely sure that this is true, __show_regs() prints with
KERN_DEFAULT, but this certainly is more consistent than it was before.
Dumping at EMERG doesn't make sense to me though, so
Reviewed-by: Conor Dooley <[email protected]>

Cheers,
Conor.

> ---
> arch/riscv/kernel/traps.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/riscv/kernel/traps.c b/arch/riscv/kernel/traps.c
> index a1b9be3c4332..142f5f5168fb 100644
> --- a/arch/riscv/kernel/traps.c
> +++ b/arch/riscv/kernel/traps.c
> @@ -121,7 +121,7 @@ void do_trap(struct pt_regs *regs, int signo, int code, unsigned long addr)
> print_vma_addr(KERN_CONT " in ", instruction_pointer(regs));
> pr_cont("\n");
> __show_regs(regs);
> - dump_instr(KERN_EMERG, regs);
> + dump_instr(KERN_INFO, regs);
> }
>
> force_sig_fault(signo, code, (void __user *)addr);


Attachments:
(No filename) (1.10 kB)
signature.asc (235.00 B)
Download all attachments

2024-02-14 10:11:35

by Andreas Schwab

[permalink] [raw]
Subject: Re: [PATCH] riscv: use KERN_INFO in do_trap

On Feb 14 2024, Conor Dooley wrote:

> On Tue, Feb 13, 2024 at 10:59:58AM +0100, Andreas Schwab wrote:
>> Print the instruction dump with info instead of emergency level like the
>> rest of the output when printing the information for an unhandled signal.
>
> I'm not entirely sure that this is true, __show_regs() prints with
> KERN_DEFAULT, but this certainly is more consistent than it was before.

The first line is printed with pr_info. Perhaps __show_regs should gain
a level argument.

--
Andreas Schwab, SUSE Labs, [email protected]
GPG Key fingerprint = 0196 BAD8 1CE9 1970 F4BE 1748 E4D4 88E3 0EEA B9D7
"And now for something completely different."

2024-02-14 10:35:06

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH] riscv: use KERN_INFO in do_trap

On 14/02/2024 10:10, Andreas Schwab wrote:
> On Feb 14 2024, Conor Dooley wrote:
>
>> On Tue, Feb 13, 2024 at 10:59:58AM +0100, Andreas Schwab wrote:
>>> Print the instruction dump with info instead of emergency level like the
>>> rest of the output when printing the information for an unhandled signal.
>>
>> I'm not entirely sure that this is true, __show_regs() prints with
>> KERN_DEFAULT, but this certainly is more consistent than it was before.
>
> The first line is printed with pr_info.

Yah, that's what I meant with "more consistent" :)

> Perhaps __show_regs should gain
> a level argument.

I wouldn't be averse. There's 3 users, of which one is show_regs().
I think we could easily add an argument that sets the printk level
to match the other outputs from the non show_regs() callers. I
suppose show_regs() could retain the KERN_DEFAULT behaviour unless
you've got a better idea.