All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Scull <ascull@google.com>
To: u-boot@lists.denx.de
Cc: sjg@chromium.org, trini@konsulko.com, Andrew Scull <ascull@google.com>
Subject: [PATCH v2 00/12] virtio: Harden and test vring
Date: Wed, 13 Apr 2022 14:21:25 +0000	[thread overview]
Message-ID: <20220413142137.560987-1-ascull@google.com> (raw)

Continuing the theme of making the virtio code resilient against
corruption of the buffers shared with the device, this series focusses
on the vring.

It follows the example of Linux by keeping a private copy of the
descriptors and metadata for state tracking and only ever writing to the
descriptors that are shared with the device. I was able to test these
hardening steps in the sandbox by simulating device writes to the
queues.

From v1:
 - Fix build errors on SPL by making dependency on virtio drivers
   explicit

Andrew Scull (12):
  virtio_ring: Merge identical variables
  virtio_ring: Add helper to attach vring descriptor
  virtio_ring: Maintain a shadow copy of descriptors
  virtio_ring: Check used descriptors are chain heads
  dm: test: virtio: Test the virtio ring
  virtio: sandbox: Fix device features bitfield
  test: dm: virtio: Test notify before del_vqs
  test: dm: virtio: Split out virtio device tests
  virtio: sandbox: Bind RNG rather than block device
  test: dm: virtio: Test virtio device driver probing
  virtio: rng: Check length before copying
  test: dm: virtio_rng: Test virtio-rng with faked device

 drivers/virtio/virtio_ring.c    |  90 ++++++++++-----
 drivers/virtio/virtio_rng.c     |   3 +
 drivers/virtio/virtio_sandbox.c |   4 +-
 include/virtio_ring.h           |  12 ++
 test/dm/Makefile                |   6 +-
 test/dm/virtio.c                |  99 ----------------
 test/dm/virtio_device.c         | 195 ++++++++++++++++++++++++++++++++
 test/dm/virtio_rng.c            |  52 +++++++++
 8 files changed, 328 insertions(+), 133 deletions(-)
 create mode 100644 test/dm/virtio_device.c
 create mode 100644 test/dm/virtio_rng.c

-- 
2.35.1.1178.g4f1659d476-goog


             reply	other threads:[~2022-04-13 14:21 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-04-13 14:21 Andrew Scull [this message]
2022-04-13 14:21 ` [PATCH v2 01/12] virtio_ring: Merge identical variables Andrew Scull
2022-04-22  8:55   ` Bin Meng
2022-04-13 14:21 ` [PATCH v2 02/12] virtio_ring: Add helper to attach vring descriptor Andrew Scull
2022-04-22  9:07   ` Bin Meng
2022-04-13 14:21 ` [PATCH v2 03/12] virtio_ring: Maintain a shadow copy of descriptors Andrew Scull
2022-04-13 14:21 ` [PATCH v2 04/12] virtio_ring: Check used descriptors are chain heads Andrew Scull
2022-04-13 14:21 ` [PATCH v2 05/12] dm: test: virtio: Test the virtio ring Andrew Scull
2022-04-13 14:21 ` [PATCH v2 06/12] virtio: sandbox: Fix device features bitfield Andrew Scull
2022-04-13 14:21 ` [PATCH v2 07/12] test: dm: virtio: Test notify before del_vqs Andrew Scull
2022-04-13 14:21 ` [PATCH v2 08/12] test: dm: virtio: Split out virtio device tests Andrew Scull
2022-04-13 14:21 ` [PATCH v2 09/12] virtio: sandbox: Bind RNG rather than block device Andrew Scull
2022-04-13 14:21 ` [PATCH v2 10/12] test: dm: virtio: Test virtio device driver probing Andrew Scull
2022-04-13 14:21 ` [PATCH v2 11/12] virtio: rng: Check length before copying Andrew Scull
2022-04-13 14:21 ` [PATCH v2 12/12] test: dm: virtio_rng: Test virtio-rng with faked device Andrew Scull

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20220413142137.560987-1-ascull@google.com \
    --to=ascull@google.com \
    --cc=sjg@chromium.org \
    --cc=trini@konsulko.com \
    --cc=u-boot@lists.denx.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.