diff options
author | Thierry Escande <thierry.escande@linaro.org> | 2018-06-14 15:28:15 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2018-06-15 07:55:25 +0900 |
commit | ee410f15b1418f2f4428e79980674c979081bcb7 (patch) | |
tree | 5d812a5175222659875e96eb5b4907b8c1133f9a /lib | |
parent | 608dbdfb1f0299f4500e56d62b0d84c44dcfa3be (diff) | |
download | linux-ee410f15b1418f2f4428e79980674c979081bcb7.tar.gz linux-ee410f15b1418f2f4428e79980674c979081bcb7.tar.bz2 linux-ee410f15b1418f2f4428e79980674c979081bcb7.zip |
lib/test_printf.c: call wait_for_random_bytes() before plain %p tests
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.
This patch adds a call to wait_for_random_bytes() before plain 'p' tests
to make sure the crng is initialized.
Link: http://lkml.kernel.org/r/20180604113708.11554-1-thierry.escande@linaro.org
Signed-off-by: Thierry Escande <thierry.escande@linaro.org>
Acked-by: Tobin C. Harding <me@tobin.cc>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: David Miller <davem@davemloft.net>
Cc: Rasmus Villemoes <linux@rasmusvillemoes.dk>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
Diffstat (limited to 'lib')
-rw-r--r-- | lib/test_printf.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/lib/test_printf.c b/lib/test_printf.c index cea592f402ed..b2aa8f514844 100644 --- a/lib/test_printf.c +++ b/lib/test_printf.c @@ -260,6 +260,13 @@ plain(void) { int err; + /* + * Make sure crng is ready. Otherwise we get "(ptrval)" instead + * of a hashed address when printing '%p' in plain_hash() and + * plain_format(). + */ + wait_for_random_bytes(); + err = plain_hash(); if (err) { pr_warn("plain 'p' does not appear to be hashed\n"); |