linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v2 0/4] hwrng: virtio - add an internal buffer
@ 2021-10-28 10:11 Laurent Vivier
  2021-10-28 10:11 ` [PATCH v2 1/4] " Laurent Vivier
                   ` (3 more replies)
  0 siblings, 4 replies; 13+ messages in thread
From: Laurent Vivier @ 2021-10-28 10:11 UTC (permalink / raw)
  To: linux-kernel
  Cc: amit, Herbert Xu, Matt Mackall, virtualization, Dmitriy Vyukov,
	rusty, akong, Alexander Potapenko, Michael S . Tsirkin,
	linux-crypto, Laurent Vivier

hwrng core uses two buffers that can be mixed in the virtio-rng queue.

This series fixes the problem by adding an internal buffer in virtio-rng.

Once the internal buffer is added, we can fix two other problems:

- to be able to release the driver without waiting the device releases the
  buffer

- actually returns some data when wait=0 as we can have some already
  available data

It also tries to improve the performance by always having a buffer in
the queue of the device.

v2:
fixes issue reported by syzbot+b86736b5935e0d25b446@syzkaller.appspotmail.com
by reseting data_idx to 0 when the buffer is submitted not when it is
received as the consumer checks for data_avail, not only for the completion.

Laurent Vivier (4):
  hwrng: virtio - add an internal buffer
  hwrng: virtio - don't wait on cleanup
  hwrng: virtio - don't waste entropy
  hwrng: virtio - always add a pending request

 drivers/char/hw_random/virtio-rng.c | 86 ++++++++++++++++++++++-------
 1 file changed, 65 insertions(+), 21 deletions(-)

-- 
2.31.1



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2022-08-10  7:54 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-10-28 10:11 [PATCH v2 0/4] hwrng: virtio - add an internal buffer Laurent Vivier
2021-10-28 10:11 ` [PATCH v2 1/4] " Laurent Vivier
2021-10-28 10:11 ` [PATCH v2 2/4] hwrng: virtio - don't wait on cleanup Laurent Vivier
2021-10-28 10:11 ` [PATCH v2 3/4] hwrng: virtio - don't waste entropy Laurent Vivier
2021-10-28 10:11 ` [PATCH v2 4/4] hwrng: virtio - always add a pending request Laurent Vivier
2022-08-02 12:49   ` Vladimir Murzin
2022-08-03  8:57     ` Vladimir Murzin
2022-08-03 11:39       ` Michael S. Tsirkin
2022-08-03 12:25         ` Vladimir Murzin
2022-08-03 12:55           ` Michael S. Tsirkin
2022-08-03 13:12             ` Vladimir Murzin
2022-08-09 20:16               ` Michael S. Tsirkin
2022-08-10  7:54                 ` Vladimir Murzin

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).