On Thu, 12 Sep 2019 08:05:41 -0400 Qian Cai <cai@xxxxxx> wrote: > > drivers/char/random.c | 7 ++++--- > > 1 file changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/char/random.c b/drivers/char/random.c > > index 9b54cdb301d3..975015857200 100644 > > --- a/drivers/char/random.c > > +++ b/drivers/char/random.c > > @@ -1687,8 +1687,9 @@ static void _warn_unseeded_randomness(const char *func_name, void *caller, > > print_once = true; > > #endif > > if (__ratelimit(&unseeded_warning)) > > - pr_notice("random: %s called from %pS with crng_init=%d\n", > > - func_name, caller, crng_init); > > + printk_deferred(KERN_NOTICE "random: %s called from %pS " > > + "with crng_init=%d\n", func_name, caller, > > + crng_init); > > } > > > > /* > > @@ -2462,4 +2463,4 @@ void add_bootloader_randomness(const void *buf, unsigned int size) > > else > > add_device_randomness(buf, size); > > } > > -EXPORT_SYMBOL_GPL(add_bootloader_randomness); > > \ No newline at end of file > > +EXPORT_SYMBOL_GPL(add_bootloader_randomness); > > This will also fix the hang. > > Sergey, do you plan to submit this Ted? Perhaps for a quick fix (and a comment that says this needs to be fixed properly). I think the changes to printk() that was discussed at Plumbers may also solve this properly. -- Steve