diff mbox series

[v3] vfio/pci: Make vfio_pci_regops->rw() return ssize_t

Message ID 0-v3-5db12d1bf576+c910-vfio_rw_jgg@nvidia.com (mailing list archive)
State New, archived
Headers show
Series [v3] vfio/pci: Make vfio_pci_regops->rw() return ssize_t | expand

Commit Message

Jason Gunthorpe July 21, 2021, 1:05 p.m. UTC
From: Yishai Hadas <yishaih@nvidia.com>

The only implementation of this in IGD returns a -ERRNO which is
implicitly cast through a size_t and then casted again and returned as a
ssize_t in vfio_pci_rw().

Fix the vfio_pci_regops->rw() return type to be ssize_t so all is
consistent.

Fixes: 28541d41c9e0 ("vfio/pci: Add infrastructure for additional device specific regions")
Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
---
 drivers/vfio/pci/vfio_pci_igd.c     | 10 +++++-----
 drivers/vfio/pci/vfio_pci_private.h |  2 +-
 2 files changed, 6 insertions(+), 6 deletions(-)

v3:
 - Fix commit subject and missing signed-off-by

Comments

Cornelia Huck July 21, 2021, 1:56 p.m. UTC | #1
On Wed, Jul 21 2021, Jason Gunthorpe <jgg@nvidia.com> wrote:

> From: Yishai Hadas <yishaih@nvidia.com>
>
> The only implementation of this in IGD returns a -ERRNO which is
> implicitly cast through a size_t and then casted again and returned as a
> ssize_t in vfio_pci_rw().
>
> Fix the vfio_pci_regops->rw() return type to be ssize_t so all is
> consistent.
>
> Fixes: 28541d41c9e0 ("vfio/pci: Add infrastructure for additional device specific regions")
> Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
>  drivers/vfio/pci/vfio_pci_igd.c     | 10 +++++-----
>  drivers/vfio/pci/vfio_pci_private.h |  2 +-
>  2 files changed, 6 insertions(+), 6 deletions(-)

Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Max Gurtovoy July 27, 2021, 12:41 p.m. UTC | #2
On 7/21/2021 4:05 PM, Jason Gunthorpe wrote:
> From: Yishai Hadas <yishaih@nvidia.com>
>
> The only implementation of this in IGD returns a -ERRNO which is
> implicitly cast through a size_t and then casted again and returned as a
> ssize_t in vfio_pci_rw().
>
> Fix the vfio_pci_regops->rw() return type to be ssize_t so all is
> consistent.
>
> Fixes: 28541d41c9e0 ("vfio/pci: Add infrastructure for additional device specific regions")
> Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
>   drivers/vfio/pci/vfio_pci_igd.c     | 10 +++++-----
>   drivers/vfio/pci/vfio_pci_private.h |  2 +-
>   2 files changed, 6 insertions(+), 6 deletions(-)
>
> v3:
>   - Fix commit subject and missing signed-off-by

Looks good,

Reviewed-by: Max Gurtovoy <mgurtovoy@nvidia.com>
Alex Williamson Aug. 3, 2021, 6:45 p.m. UTC | #3
On Wed, 21 Jul 2021 10:05:48 -0300
Jason Gunthorpe <jgg@nvidia.com> wrote:

> From: Yishai Hadas <yishaih@nvidia.com>
> 
> The only implementation of this in IGD returns a -ERRNO which is
> implicitly cast through a size_t and then casted again and returned as a
> ssize_t in vfio_pci_rw().
> 
> Fix the vfio_pci_regops->rw() return type to be ssize_t so all is
> consistent.
> 
> Fixes: 28541d41c9e0 ("vfio/pci: Add infrastructure for additional device specific regions")
> Signed-off-by: Yishai Hadas <yishaih@nvidia.com>
> Signed-off-by: Jason Gunthorpe <jgg@nvidia.com>
> ---
>  drivers/vfio/pci/vfio_pci_igd.c     | 10 +++++-----
>  drivers/vfio/pci/vfio_pci_private.h |  2 +-
>  2 files changed, 6 insertions(+), 6 deletions(-)

Applied to vfio next branch for v5.15 with Max and Connie's R-b.
Thanks,

Alex
diff mbox series

Patch

diff --git a/drivers/vfio/pci/vfio_pci_igd.c b/drivers/vfio/pci/vfio_pci_igd.c
index 228df565e9bc40..aa0a29fd276285 100644
--- a/drivers/vfio/pci/vfio_pci_igd.c
+++ b/drivers/vfio/pci/vfio_pci_igd.c
@@ -25,8 +25,8 @@ 
 #define OPREGION_RVDS		0x3c2
 #define OPREGION_VERSION	0x16
 
-static size_t vfio_pci_igd_rw(struct vfio_pci_device *vdev, char __user *buf,
-			      size_t count, loff_t *ppos, bool iswrite)
+static ssize_t vfio_pci_igd_rw(struct vfio_pci_device *vdev, char __user *buf,
+			       size_t count, loff_t *ppos, bool iswrite)
 {
 	unsigned int i = VFIO_PCI_OFFSET_TO_INDEX(*ppos) - VFIO_PCI_NUM_REGIONS;
 	void *base = vdev->region[i].data;
@@ -160,9 +160,9 @@  static int vfio_pci_igd_opregion_init(struct vfio_pci_device *vdev)
 	return ret;
 }
 
-static size_t vfio_pci_igd_cfg_rw(struct vfio_pci_device *vdev,
-				  char __user *buf, size_t count, loff_t *ppos,
-				  bool iswrite)
+static ssize_t vfio_pci_igd_cfg_rw(struct vfio_pci_device *vdev,
+				   char __user *buf, size_t count, loff_t *ppos,
+				   bool iswrite)
 {
 	unsigned int i = VFIO_PCI_OFFSET_TO_INDEX(*ppos) - VFIO_PCI_NUM_REGIONS;
 	struct pci_dev *pdev = vdev->region[i].data;
diff --git a/drivers/vfio/pci/vfio_pci_private.h b/drivers/vfio/pci/vfio_pci_private.h
index 5a36272cecbf94..bbc56c857ef081 100644
--- a/drivers/vfio/pci/vfio_pci_private.h
+++ b/drivers/vfio/pci/vfio_pci_private.h
@@ -56,7 +56,7 @@  struct vfio_pci_device;
 struct vfio_pci_region;
 
 struct vfio_pci_regops {
-	size_t	(*rw)(struct vfio_pci_device *vdev, char __user *buf,
+	ssize_t	(*rw)(struct vfio_pci_device *vdev, char __user *buf,
 		      size_t count, loff_t *ppos, bool iswrite);
 	void	(*release)(struct vfio_pci_device *vdev,
 			   struct vfio_pci_region *region);