2015-08-26 18:50:07

by Alexander Kuleshov

[permalink] [raw]
Subject: [PATCH] s390/jump_label: Use %*ph to print small buffers

printk() supports %*ph format specifier for printing a small buffers,
let's use it intead of %02x %02x...

Signed-off-by: Alexander Kuleshov <[email protected]>
---
arch/s390/kernel/jump_label.c | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/arch/s390/kernel/jump_label.c b/arch/s390/kernel/jump_label.c
index a902996..cdf7c9e 100644
--- a/arch/s390/kernel/jump_label.c
+++ b/arch/s390/kernel/jump_label.c
@@ -44,11 +44,11 @@ static void jump_label_bug(struct jump_entry *entry, struct insn *expected,
unsigned char *ipn = (unsigned char *)new;

pr_emerg("Jump label code mismatch at %pS [%p]\n", ipc, ipc);
- pr_emerg("Found: %02x %02x %02x %02x %02x %02x\n",
+ pr_emerg("Found: %6ph\n",
ipc[0], ipc[1], ipc[2], ipc[3], ipc[4], ipc[5]);
- pr_emerg("Expected: %02x %02x %02x %02x %02x %02x\n",
+ pr_emerg("Expected: %6ph\n",
ipe[0], ipe[1], ipe[2], ipe[3], ipe[4], ipe[5]);
- pr_emerg("New: %02x %02x %02x %02x %02x %02x\n",
+ pr_emerg("New: %6ph\n",
ipn[0], ipn[1], ipn[2], ipn[3], ipn[4], ipn[5]);
panic("Corrupted kernel text");
}
--
2.5.0


2015-08-26 19:03:07

by Tillmann Heidsieck

[permalink] [raw]
Subject: Re: [PATCH] s390/jump_label: Use %*ph to print small buffers

Hi Alexander,

On 2015-08-26 20:49, Alexander Kuleshov wrote:
> printk() supports %*ph format specifier for printing a small buffers,
> let's use it intead of %02x %02x...

noble effort ...

> pr_emerg("Jump label code mismatch at %pS [%p]\n", ipc, ipc);
> - pr_emerg("Found: %02x %02x %02x %02x %02x %02x\n",
> + pr_emerg("Found: %6ph\n",
> ipc[0], ipc[1], ipc[2], ipc[3], ipc[4], ipc[5]);
> - pr_emerg("Expected: %02x %02x %02x %02x %02x %02x\n",
> + pr_emerg("Expected: %6ph\n",
> ipe[0], ipe[1], ipe[2], ipe[3], ipe[4], ipe[5]);
> - pr_emerg("New: %02x %02x %02x %02x %02x %02x\n",
> + pr_emerg("New: %6ph\n",
> ipn[0], ipn[1], ipn[2], ipn[3], ipn[4], ipn[5]);
> panic("Corrupted kernel text");
> }

... but you might want to check our code before submission (e.g. compile
it!)

Cheers
Tillmann

2015-08-26 19:12:46

by Alexander Kuleshov

[permalink] [raw]
Subject: Re: [PATCH] s390/jump_label: Use %*ph to print small buffers

Hello Tillmann, sorry for noise, will resend.

2015-08-27 1:03 GMT+06:00 Tillmann Heidsieck <[email protected]>:
> Hi Alexander,
>
> On 2015-08-26 20:49, Alexander Kuleshov wrote:
>>
>> printk() supports %*ph format specifier for printing a small buffers,
>> let's use it intead of %02x %02x...
>
>
> noble effort ...
>
>> pr_emerg("Jump label code mismatch at %pS [%p]\n", ipc, ipc);
>> - pr_emerg("Found: %02x %02x %02x %02x %02x %02x\n",
>> + pr_emerg("Found: %6ph\n",
>> ipc[0], ipc[1], ipc[2], ipc[3], ipc[4], ipc[5]);
>> - pr_emerg("Expected: %02x %02x %02x %02x %02x %02x\n",
>> + pr_emerg("Expected: %6ph\n",
>> ipe[0], ipe[1], ipe[2], ipe[3], ipe[4], ipe[5]);
>> - pr_emerg("New: %02x %02x %02x %02x %02x %02x\n",
>> + pr_emerg("New: %6ph\n",
>> ipn[0], ipn[1], ipn[2], ipn[3], ipn[4], ipn[5]);
>> panic("Corrupted kernel text");
>> }
>
>
> ... but you might want to check our code before submission (e.g. compile
> it!)
>
> Cheers
> Tillmann