Re: [PATCH] um: Rewrite host RNG driver.

From: Dark
Date: Thu Aug 29 2019 - 10:36:37 EST


On Thu, 29 Aug 2019 15:26:24 +0200, Richard Weinberger <richard.weinberger@xxxxxxxxx> wrote:
> So, you removed -EAGAIN handling, made everything synchronous,
> and changed the interface.t
> I'm not sure if this really a much better option.

I should have been more clear here that I'm using the interfaces
provided by `drivers/char/hw_random/core.c` for consistency with the
other hardware RNG drivers and to avoid reimplementing stuff that's
already there.

It might be a bit hard to see in the diff, but I pass the file
descriptor to `os_set_fd_async()` to prevent it from blocking.

For the -EAGAIN handling, I'm passing it onto the caller. Since you
mentioned it, It would be better to handle it in the driver itself
so I'll update the patch to address that.

> Rewriting the driver in a modern manner is a good thing, but throwing the
> old one way with a little hand weaving just because of a unspecified issue
> is a little harsh.
> Can you at lest provide more infos what problem you're facing with the
> old driver?

Most of it boiled down to it silently breaking if /dev/random on the
host were to block for any reason, and there was the userspace tool
requirement to properly make use of it. With that said, the interface
was also inconsistent with the other hardware RNG drivers which would
require a rewrite to address anyway.