[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20210216094454.82106-1-sgarzare@redhat.com>
Date: Tue, 16 Feb 2021 10:44:44 +0100
From: Stefano Garzarella <sgarzare@...hat.com>
To: virtualization@...ts.linux-foundation.org
Cc: kvm@...r.kernel.org, linux-kernel@...r.kernel.org,
"Michael S. Tsirkin" <mst@...hat.com>,
Jason Wang <jasowang@...hat.com>
Subject: [RFC PATCH 00/10] vdpa: get/set_config() rework
Following the discussion with Michael and Jason [1], I reworked a bit
get/set_config() in vdpa.
I changed vdpa_get_config() to check the boundaries and added vdpa_set_config().
When 'offset' or 'len' parameters exceed boundaries, we limit the reading to
the available configuration space in the device, and we return the amount of
bytes read/written.
In this way the user space can pass buffers bigger than config space.
I also returned the amount of bytes read and written to user space.
Patches also available here:
https://github.com/stefano-garzarella/linux/tree/vdpa-get-set-config-refactoring
Thanks for your comments,
Stefano
[1] https://lkml.org/lkml/2021/2/10/350
Stefano Garzarella (10):
vdpa: add get_config_size callback in vdpa_config_ops
vdpa: check vdpa_get_config() parameters and return bytes read
vdpa: add vdpa_set_config() helper
vdpa: remove param checks in the get/set_config callbacks
vdpa: remove WARN_ON() in the get/set_config callbacks
virtio_vdpa: use vdpa_set_config()
vhost/vdpa: use vdpa_set_config()
vhost/vdpa: allow user space to pass buffers bigger than config space
vhost/vdpa: use get_config_size callback in
vhost_vdpa_config_validate()
vhost/vdpa: return configuration bytes read and written to user space
include/linux/vdpa.h | 22 ++++-------
drivers/vdpa/ifcvf/ifcvf_base.c | 3 +-
drivers/vdpa/ifcvf/ifcvf_main.c | 8 +++-
drivers/vdpa/mlx5/net/mlx5_vnet.c | 9 ++++-
drivers/vdpa/vdpa.c | 51 ++++++++++++++++++++++++
drivers/vdpa/vdpa_sim/vdpa_sim.c | 15 +++++---
drivers/vhost/vdpa.c | 64 ++++++++++++++++---------------
drivers/virtio/virtio_vdpa.c | 3 +-
8 files changed, 116 insertions(+), 59 deletions(-)
--
2.29.2
Powered by blists - more mailing lists