[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#798088: linux: /proc/sys/kernel/random/write_wakeup_threshold can be set too an unreachable amount of entropy



Package: linux-image-4.1.0-2-amd64
Severity: normal

Hi!

I was reported #740117 on haveged. The bug is basically that when the
entropy watermark is set too high, haveged will busy loop like hell.
I've worked around the issue in haveged the same way rngd does, but I
believe the problem is in the kernel.

Both haveged and rngd loop like follows: block trying to write to
/dev/random, fetch entropy, feed the kernel and go back blocking again.
Process trying to write to /dev/random will be blocked until the
available goes below the value defined in
/proc/sys/kernel/random/write_wakeup_threshold.

Even if its value is bounded by the entropy pool size, it can still be
set to a value that will always allow writes to /dev/random. That's
because the amount of entropy is asymptotical as explained in the
driver [1].

From my limited understanding of the driver, I believe
the maximum value that should be allowed to write_wakeup_threshold is
actually 3/4 of size of the pool instead of its full size.

 [1]: https://sources.debian.net/src/linux/4.1.6-1/drivers/char/random.c/?hl=613:631#L613

-- 
Lunar                                .''`. 
lunar@debian.org                    : :Ⓐ  :  # apt-get install anarchism
                                    `. `'` 
                                      `-   

Attachment: signature.asc
Description: Digital signature


Reply to: