Messages in this thread | | | Date | Thu, 31 May 2018 16:46:38 -0400 | From | Steven Rostedt <> | Subject | Re: [PATCH v6 3/4] vsprintf: Use hw RNG for ptr_key |
| |
On Mon, 28 May 2018 11:46:41 +1000 "Tobin C. Harding" <me@tobin.cc> wrote:
> Currently we must wait for enough entropy to become available before > hashed pointers can be printed. We can remove this wait by using the > hw RNG if available. > > Use hw RNG to get keying material. > > Cc: Steven Rostedt (VMware) <rostedt@goodmis.org>
Reviewed-by: Steven Rostedt (VMware) <rostedt@goodmis.org>
-- Steve
> Suggested-by: Kees Cook <keescook@chromium.org> > Signed-off-by: Tobin C. Harding <me@tobin.cc> > --- > lib/vsprintf.c | 10 +++++++++- > 1 file changed, 9 insertions(+), 1 deletion(-) > > diff --git a/lib/vsprintf.c b/lib/vsprintf.c > index 23920c5ff728..1545a8aa26a9 100644 > --- a/lib/vsprintf.c > +++ b/lib/vsprintf.c > @@ -1693,8 +1693,16 @@ static struct random_ready_callback random_ready = { > > static int __init initialize_ptr_random(void) > { > - int ret = add_random_ready_callback(&random_ready); > + int key_size = sizeof(ptr_key); > + int ret; > + > + /* Use hw RNG if available */ > + if (get_random_bytes_arch(&ptr_key, key_size) == key_size) { > + static_branch_disable(¬_filled_random_ptr_key); > + return 0; > + } > > + ret = add_random_ready_callback(&random_ready); > if (!ret) { > return 0; > } else if (ret == -EALREADY) {
| |