[PATCH] vfio: Use filp instead of fd

From: Deming Wang
Date: Mon Sep 26 2022 - 03:59:00 EST


The function of kvm_vfio_group_set_spapr_tce and kvm_vfio_group_del
use fd indirectly.But,it only be used for fd.file. So,we can directly
use the struct of file instead.

Signed-off-by: Deming Wang <wangdeming@xxxxxxxxxx>
---
virt/kvm/vfio.c | 24 ++++++++++++------------
1 file changed, 12 insertions(+), 12 deletions(-)

diff --git a/virt/kvm/vfio.c b/virt/kvm/vfio.c
index ce1b01d02c51..3be84d82f905 100644
--- a/virt/kvm/vfio.c
+++ b/virt/kvm/vfio.c
@@ -178,11 +178,11 @@ static int kvm_vfio_group_del(struct kvm_device *dev, unsigned int fd)
{
struct kvm_vfio *kv = dev->private;
struct kvm_vfio_group *kvg;
- struct fd f;
+ struct file *filp;
int ret;

- f = fdget(fd);
- if (!f.file)
+ filp = fget(fd);
+ if (!filp)
return -EBADF;

ret = -ENOENT;
@@ -190,7 +190,7 @@ static int kvm_vfio_group_del(struct kvm_device *dev, unsigned int fd)
mutex_lock(&kv->lock);

list_for_each_entry(kvg, &kv->group_list, node) {
- if (kvg->file != f.file)
+ if (kvg->file != filp)
continue;

list_del(&kvg->node);
@@ -207,7 +207,7 @@ static int kvm_vfio_group_del(struct kvm_device *dev, unsigned int fd)

mutex_unlock(&kv->lock);

- fdput(f);
+ fput(filp);

kvm_vfio_update_coherency(dev);

@@ -221,14 +221,14 @@ static int kvm_vfio_group_set_spapr_tce(struct kvm_device *dev,
struct kvm_vfio_spapr_tce param;
struct kvm_vfio *kv = dev->private;
struct kvm_vfio_group *kvg;
- struct fd f;
+ struct file *filp;
int ret;

if (copy_from_user(&param, arg, sizeof(struct kvm_vfio_spapr_tce)))
return -EFAULT;

- f = fdget(param.groupfd);
- if (!f.file)
+ filp = fget(param.groupfd);
+ if (!filp)
return -EBADF;

ret = -ENOENT;
@@ -238,13 +238,13 @@ static int kvm_vfio_group_set_spapr_tce(struct kvm_device *dev,
list_for_each_entry(kvg, &kv->group_list, node) {
struct iommu_group *grp;

- if (kvg->file != f.file)
+ if (kvg->file != filp)
continue;

grp = kvm_vfio_file_iommu_group(kvg->file);
if (WARN_ON_ONCE(!grp)) {
ret = -EIO;
- goto err_fdput;
+ goto err_fput;
}

ret = kvm_spapr_tce_attach_iommu_group(dev->kvm, param.tablefd,
@@ -252,9 +252,9 @@ static int kvm_vfio_group_set_spapr_tce(struct kvm_device *dev,
break;
}

-err_fdput:
+err_fput:
mutex_unlock(&kv->lock);
- fdput(f);
+ fput(filp);
return ret;
}
#endif
--
2.27.0