diff mbox series

[v2] um: x86: print RIP with symbol

Message ID 20220422140602.26dfa3ae90d2.I741c6239fb1423fe4ce6eb00f5dcce360c01a700@changeid
State Changes Requested
Headers show
Series [v2] um: x86: print RIP with symbol | expand

Commit Message

Johannes Berg April 22, 2022, 12:06 p.m. UTC
From: Johannes Berg <johannes.berg@intel.com>

This is not only nicer to read by default, but also lets
decode_stacktrace.sh work on it, rather than removing it.

Signed-off-by: Johannes Berg <johannes.berg@intel.com>
---
v2: put back %lx I accidentally dropped looking at x86
---
 arch/x86/um/sysrq_64.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Comments

Richard Weinberger May 27, 2022, 7:06 a.m. UTC | #1
On Fri, Apr 22, 2022 at 2:06 PM Johannes Berg <johannes@sipsolutions.net> wrote:
>
> From: Johannes Berg <johannes.berg@intel.com>
>
> This is not only nicer to read by default, but also lets
> decode_stacktrace.sh work on it, rather than removing it.
>
> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
> ---
> v2: put back %lx I accidentally dropped looking at x86
> ---
>  arch/x86/um/sysrq_64.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/arch/x86/um/sysrq_64.c b/arch/x86/um/sysrq_64.c
> index 903ad91b624f..ac4ffe4a4396 100644
> --- a/arch/x86/um/sysrq_64.c
> +++ b/arch/x86/um/sysrq_64.c
> @@ -19,7 +19,7 @@ void show_regs(struct pt_regs *regs)
>         print_modules();
>         printk(KERN_INFO "Pid: %d, comm: %.20s %s %s\n", task_pid_nr(current),
>                 current->comm, print_tainted(), init_utsname()->release);
> -       printk(KERN_INFO "RIP: %04lx:[<%016lx>]\n", PT_REGS_CS(regs) & 0xffff,
> +       printk(KERN_INFO "RIP: %04lx:%pS\n", PT_REGS_CS(regs) & 0xffff,
>                PT_REGS_IP(regs));
>         printk(KERN_INFO "RSP: %016lx  EFLAGS: %08lx\n", PT_REGS_SP(regs),
>                PT_REGS_EFLAGS(regs));

This triggers the following warning here with gcc 7.5:

In file included from ./include/linux/kernel.h:29:0,
                from arch/x86/um/sysrq_64.c:7:
arch/x86/um/sysrq_64.c: In function ‘show_regs’:
./include/linux/kern_levels.h:5:18: warning: format ‘%p’ expects
argument of type ‘void *’, but argument 3 has type ‘long unsigned int’
[-Wformat=]
#define KERN_SOH "\001"  /* ASCII Start Of Header */
                 ^
./include/linux/printk.h:418:11: note: in definition of macro
‘printk_index_wrap’
  _p_func(_fmt, ##__VA_ARGS__);    \
          ^~~~
arch/x86/um/sysrq_64.c:22:2: note: in expansion of macro ‘printk’
 printk(KERN_INFO "RIP: %04lx:%pS\n", PT_REGS_CS(regs) & 0xffff,
 ^~~~~~
./include/linux/kern_levels.h:14:19: note: in expansion of macro ‘KERN_SOH’
#define KERN_INFO KERN_SOH "6" /* informational */
                  ^~~~~~~~
arch/x86/um/sysrq_64.c:22:9: note: in expansion of macro ‘KERN_INFO’
 printk(KERN_INFO "RIP: %04lx:%pS\n", PT_REGS_CS(regs) & 0xffff,
        ^~~~~~~~~
arch/x86/um/sysrq_64.c:22:32: note: format string is defined here
 printk(KERN_INFO "RIP: %04lx:%pS\n", PT_REGS_CS(regs) & 0xffff,
                              ~^
                              %ld
diff mbox series

Patch

diff --git a/arch/x86/um/sysrq_64.c b/arch/x86/um/sysrq_64.c
index 903ad91b624f..ac4ffe4a4396 100644
--- a/arch/x86/um/sysrq_64.c
+++ b/arch/x86/um/sysrq_64.c
@@ -19,7 +19,7 @@  void show_regs(struct pt_regs *regs)
 	print_modules();
 	printk(KERN_INFO "Pid: %d, comm: %.20s %s %s\n", task_pid_nr(current),
 		current->comm, print_tainted(), init_utsname()->release);
-	printk(KERN_INFO "RIP: %04lx:[<%016lx>]\n", PT_REGS_CS(regs) & 0xffff,
+	printk(KERN_INFO "RIP: %04lx:%pS\n", PT_REGS_CS(regs) & 0xffff,
 	       PT_REGS_IP(regs));
 	printk(KERN_INFO "RSP: %016lx  EFLAGS: %08lx\n", PT_REGS_SP(regs),
 	       PT_REGS_EFLAGS(regs));