Message ID | 20210216094454.82106-1-sgarzare@redhat.com (mailing list archive) |
---|---|
Headers | show |
Series | vdpa: get/set_config() rework | expand |
nice ping :-) On Tue, Feb 16, 2021 at 10:44:44AM +0100, Stefano Garzarella wrote: >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 > >_______________________________________________ >Virtualization mailing list >Virtualization@lists.linux-foundation.org >https://lists.linuxfoundation.org/mailman/listinfo/virtualization >