[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(¶m, 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