lkml.org 
[lkml]   [2018]   [Jun]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH v2] lib/test_printf.c: call wait_for_random_bytes() before plain %p tests
From
Date


On 13/06/2018 18:30, Andy Shevchenko wrote:
> On Wed, Jun 13, 2018 at 5:59 PM, Thierry Escande
> <thierry.escande@linaro.org> wrote:
>> On 13/06/2018 13:22, Andy Shevchenko wrote:
>>>
>>> On Wed, Jun 13, 2018 at 12:29 PM, Thierry Escande
>>> <thierry.escande@linaro.org> wrote:
>>>>
>>>> If the test_printf module is loaded before the crng is initialized, the
>>>> plain 'p' tests will fail because the printed address will not be hashed
>>>> and the buffer will contain "(ptrval)" instead.
>>>> Since we cannot wait for the crng to be initialized for an undefined
>>>> time, both plain 'p' tests now accept the string "(ptrval)" as a valid
>>>> result and print a warning message.
>>>
>>>
>>> There are two possibilities:
>>> 1. (ptrval) for 32-bit case
>>> 2. (____ptrval____) for 64-bit case.
>>
>>
>> From lib/vsprintf.c, ptr_to_id() puts "(ptrval)" into the buffer, then it
>> gets left-padded with spaces by widen_string().
>
> Which kernel version you are trying to fix?
>
> What I see for a long time in linux-next:
>
> static char *ptr_to_id(char *buf, char *end, void *ptr, struct printf_spec spec)
> {
> const char *str = sizeof(ptr) == 8 ? "(____ptrval____)" : "(ptrval)";
> ...
>
> brought by the commit 91efafb1dd8f ("lib/vsprintf: Replace space with
> '_' before crng is ready").

I missed that one as it's not in v4.17. My bad.

Regards,
Thierry

\
 
 \ /
  Last update: 2018-06-13 18:43    [W:0.048 / U:2.528 seconds]
©2003-2018 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site