Re: [PATCH v2] hwrng: core - move add_early_randomness() out of rng_mutex

From: Marek Szyprowski
Date: Mon Oct 14 2019 - 03:26:50 EST


On 12.10.2019 14:09, Herbert Xu wrote:
> On Fri, Oct 11, 2019 at 03:47:24PM +0200, Laurent Vivier wrote:
>> add_early_randomness() is called every time a new rng backend is added
>> and every time it is set as the current rng provider.
>> add_early_randomness() is called from functions locking rng_mutex,
>> and if it hangs all the hw_random framework hangs: we can't read sysfs,
>> add or remove a backend.
>> This patch moves add_early_randomness() out of the rng_mutex zone.
>> It only needs the reading_mutex.
>> Signed-off-by: Laurent Vivier <lvivier@xxxxxxxxxx>
>> ---
>> Notes:
>> v2: in hwrng_register, take rng->ref only if rng is the new current_rng
>> drivers/char/hw_random/core.c | 61 +++++++++++++++++++++++++----------
>> 1 file changed, 44 insertions(+), 17 deletions(-)
> Please rebase your patch on top of the cryptodev tree, i.e., make
> this an incremental patch with a Fixes header.

This v2 applied on the linux-next with reverted v1 fixes my issue.

When you prepare the incremental patch, feel free to add:

Reported-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>
Fixes: daae28debcb0 ("hwrng: core - move add_early_randomness() out of
Tested-by: Marek Szyprowski <m.szyprowski@xxxxxxxxxxx>

Best regards
Marek Szyprowski, PhD
Samsung R&D Institute Poland