Re: [PATCH v2] lib/test_printf.c: call wait_for_random_bytes() before plain %p tests

From: Thierry Escande
Date: Wed Jun 13 2018 - 10:59:38 EST


On 13/06/2018 13:22, Andy Shevchenko wrote:
On Wed, Jun 13, 2018 at 12:29 PM, Thierry Escande
<thierry.escande@xxxxxxxxxx> 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().

Regards,
Thierry