lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Date:   Mon, 26 Sep 2022 02:54:07 -0400
From:   Deming Wang <wangdeming@...pur.com>
To:     <pbonzini@...hat.com>
CC:     <kvm@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
        Deming Wang <wangdeming@...pur.com>
Subject: [PATCH] vfio: Use filp instead of fd

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@...pur.com>
---
 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

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ