From patchwork Mon Sep 26 06:54:07 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Deming Wang X-Patchwork-Id: 12988357 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id 72379C07E9D for ; Mon, 26 Sep 2022 07:58:56 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S233795AbiIZH6v (ORCPT ); Mon, 26 Sep 2022 03:58:51 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39234 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233940AbiIZH6X (ORCPT ); Mon, 26 Sep 2022 03:58:23 -0400 Received: from unicom145.biz-email.net (unicom145.biz-email.net [210.51.26.145]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 5A55EC4C; Mon, 26 Sep 2022 00:54:24 -0700 (PDT) Received: from ([60.208.111.195]) by unicom145.biz-email.net ((D)) with ASMTP (SSL) id UGC00119; Mon, 26 Sep 2022 15:54:19 +0800 Received: from localhost.localdomain (10.200.104.82) by jtjnmail201604.home.langchao.com (10.100.2.4) with Microsoft SMTP Server id 15.1.2507.12; Mon, 26 Sep 2022 15:54:18 +0800 From: Deming Wang To: CC: , , Deming Wang Subject: [PATCH] vfio: Use filp instead of fd Date: Mon, 26 Sep 2022 02:54:07 -0400 Message-ID: <20220926065407.2389-1-wangdeming@inspur.com> X-Mailer: git-send-email 2.31.1 MIME-Version: 1.0 X-Originating-IP: [10.200.104.82] tUid: 2022926155419394452db38c06c56392253e0135b5d34 X-Abuse-Reports-To: service@corp-email.com Abuse-Reports-To: service@corp-email.com X-Complaints-To: service@corp-email.com X-Report-Abuse-To: service@corp-email.com Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org 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 Reviewed-by: Jason Gunthorpe --- 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