Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Jul 2015 16:14:53 -0700
From:      "K. Macy" <kmacy@freebsd.org>
To:        Mark R V Murray <markm@freebsd.org>
Cc:        Ian Lepore <ian@freebsd.org>, "svn-src-head@freebsd.org" <svn-src-head@freebsd.org>,  "svn-src-all@freebsd.org" <svn-src-all@freebsd.org>,  "src-committers@freebsd.org" <src-committers@freebsd.org>
Subject:   Re: svn commit: r284959 - in head: . share/man/man4 share/man/man9 sys/conf sys/dev/glxsb sys/dev/hifn sys/dev/random sys/dev/rndtest sys/dev/safe sys/dev/syscons sys/dev/ubsec sys/dev/virtio/random sy...
Message-ID:  <CAHM0Q_PR3kUB_5qyhwOgreDuaahg1a0kt3oBwYK-h8Da6bgoAQ@mail.gmail.com>
In-Reply-To: <CAHM0Q_MJnncE_aziaYr3iTv%2BUDRegYr2urhREbp9nczdyXYBsA@mail.gmail.com>
References:  <201506301700.t5UH0jPq001498@svn.freebsd.org> <CAJ-VmomjDvkH7R-fhSbjFwj2XzNt4Z67aSKt-LRvvRTeVi2EPQ@mail.gmail.com> <6FF99E82-AE79-4112-8EB9-DC35B75F498D@FreeBSD.org> <1437055729.1334.359.camel@freebsd.org> <87D9CCA8-B77F-4CBD-85EC-08C4A9D8413E@FreeBSD.org> <CAHM0Q_MJnncE_aziaYr3iTv%2BUDRegYr2urhREbp9nczdyXYBsA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jul 16, 2015 at 3:28 PM, K. Macy <kmacy@freebsd.org> wrote:
> I discovered this when I MFC'd and my kernel wouldn't link because of
> unresolved symbols. I thought I had put the issue aside when I added
> RANDOM_DUMMY to my kernel config.
>
> However, I just hit this:
>
>         while (!random_alg_context.ra_seeded()) {
>                 if (nonblock) {
>                         error = EWOULDBLOCK;
>                         break;
>                 }
>                 tsleep(&random_alg_context, 0, "randseed", hz/10);
>                 /* keep tapping away at the pre-read until we seed/unblock. */
>                 random_alg_context.ra_pre_read();
>                 printf("random: %s unblock wait\n", __func__);
>         }
>
> My system wouldn't boot because this was endlessly spamming the
> console. I don't know what the right default here is. But I can say
> that this is not it.


I've also realized that a process blocked here is uninterruptible.
Hence any process reading an insufficiently seeded /dev/random is
unkillable. For example my boot can't proceed past dd doing a read and
I can't ^C it. Did you test RANDOM_DUMMY?


-K



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAHM0Q_PR3kUB_5qyhwOgreDuaahg1a0kt3oBwYK-h8Da6bgoAQ>