Received: by 2002:a25:ca44:0:0:0:0:0 with SMTP id a65csp1529944ybg; Wed, 29 Jul 2020 17:14:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwIa2aZ4zuY1n+9+744MhIuu1B7JJuaoik5hK8qHjXZ/Ct8BApVYs7g+4rA/Cst9t7qFpif X-Received: by 2002:aa7:c6ce:: with SMTP id b14mr306742eds.208.1596068097311; Wed, 29 Jul 2020 17:14:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1596068097; cv=none; d=google.com; s=arc-20160816; b=FFmnMnHnroRWYOK6kJNBuEwzVqkA0+XUWfcLyo0let+uCbosdMMrExn48QSGLcwVie rDuecYivHTDCLvDnXsL3RCZIumr+SAnioosGKskyJd0BoG2KjyA4xdECshQtvJuRR/CY HYWYel1CFqACXJ6AUuJtxLBBFk5IVUkROpOhqaQIY2K5C2LO81m/FXEFgU3YhmJffezy ASPWlY/V3BNbWfxCq7V4TKOBCz/Ur1WLrmVmOjCl2ylh5PO99MmjN2z3U0790arCORdc heX/mqA6Xo1lNjQWwHfelZiRewqIIzDn8gU9dLkw3H19RAJF4VsQPst8hUi6QIQtlUHE 7XHA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:references:in-reply-to:message-id:date :subject:cc:to:from:ironport-sdr:ironport-sdr; bh=ypot6hmrRXTOaicE6O/2c9WcVyFSFcHdGCsjst/BNsY=; b=SZsEGlDtT5MOMttJVXLGx+d8TPtsHQyTnpEj12FMcVIJ6OMNFR7IShpiBRoC74gVHO HQZUHGG1pSeHKoxGs/g7cQTqf/yb01xHKtko3FgnSzvi+Ge2nQ3uHn2qigKagDyZJn+Q hPZit6gt3NdSvXaGFPRAtxNprh6M7h5uWhLbGmdA8rN0hl8q4iIX35T6zadU9BMMtm3v lF6b/2X5+xPSAAuAjvgkTi9oGH4TDR/yMhstpQJye9DCVYDKsFbARpOqVhX548QmiThz S7Fb7t+KqaedCnzNTVFZPb7UBEbxWepTcC5TnCpcYteEfnuRbhPC5XiCVfDtSOTIhm3O 5XIQ== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id c95si2874779edf.304.2020.07.29.17.14.34; Wed, 29 Jul 2020 17:14:57 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=fail (p=NONE sp=NONE dis=NONE) header.from=intel.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728234AbgG3AOY (ORCPT + 99 others); Wed, 29 Jul 2020 20:14:24 -0400 Received: from mga09.intel.com ([134.134.136.24]:33261 "EHLO mga09.intel.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1728183AbgG3AOX (ORCPT ); Wed, 29 Jul 2020 20:14:23 -0400 IronPort-SDR: jMjcnRRYcepjKi3zH3cRirpLJSL69FlBZhX05HTHsi/zonq8sgvsD1Xflejqd57VeT54tF8ADc kO7C64amehNA== X-IronPort-AV: E=McAfee;i="6000,8403,9697"; a="152748853" X-IronPort-AV: E=Sophos;i="5.75,412,1589266800"; d="scan'208";a="152748853" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga003.jf.intel.com ([10.7.209.27]) by orsmga102.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 29 Jul 2020 17:14:20 -0700 IronPort-SDR: eg9SJAJ9U2EXDWGlWMspoMUCT8cSXWENKEB8UCY0UlKnjqZ3lcR8uuAdhutKFomEsCfRpuHxrU wk8jwRJcqWjw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.75,412,1589266800"; d="scan'208";a="286680257" Received: from jacob-builder.jf.intel.com ([10.7.199.155]) by orsmga003.jf.intel.com with ESMTP; 29 Jul 2020 17:14:19 -0700 From: Jacob Pan To: iommu@lists.linux-foundation.org, LKML , Joerg Roedel , Alex Williamson Cc: "Lu Baolu" , David Woodhouse , Yi Liu , "Tian, Kevin" , Raj Ashok , "Christoph Hellwig" , Jean-Philippe Brucker , Eric Auger , Jonathan Corbet , Jacob Pan Subject: [PATCH v7 5/7] iommu/uapi: Rename uapi functions Date: Wed, 29 Jul 2020 17:21:05 -0700 Message-Id: <1596068467-49322-6-git-send-email-jacob.jun.pan@linux.intel.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1596068467-49322-1-git-send-email-jacob.jun.pan@linux.intel.com> References: <1596068467-49322-1-git-send-email-jacob.jun.pan@linux.intel.com> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org User APIs such as iommu_sva_unbind_gpasid() may also be used by the kernel. Since we introduced user pointer to the UAPI functions, in-kernel callers cannot share the same APIs. In-kernel callers are also trusted, there is no need to validate the data. This patch renames all UAPI functions with iommu_uapi_ prefix such that is clear to the intended callers. Suggested-by: Alex Williamson Signed-off-by: Jacob Pan --- drivers/iommu/iommu.c | 18 +++++++++--------- include/linux/iommu.h | 31 ++++++++++++++++--------------- 2 files changed, 25 insertions(+), 24 deletions(-) diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c index b6858adc4f17..3a913ce94a3d 100644 --- a/drivers/iommu/iommu.c +++ b/drivers/iommu/iommu.c @@ -1950,35 +1950,35 @@ int iommu_attach_device(struct iommu_domain *domain, struct device *dev) } EXPORT_SYMBOL_GPL(iommu_attach_device); -int iommu_cache_invalidate(struct iommu_domain *domain, struct device *dev, - struct iommu_cache_invalidate_info *inv_info) +int iommu_uapi_cache_invalidate(struct iommu_domain *domain, struct device *dev, + struct iommu_cache_invalidate_info *inv_info) { if (unlikely(!domain->ops->cache_invalidate)) return -ENODEV; return domain->ops->cache_invalidate(domain, dev, inv_info); } -EXPORT_SYMBOL_GPL(iommu_cache_invalidate); +EXPORT_SYMBOL_GPL(iommu_uapi_cache_invalidate); -int iommu_sva_bind_gpasid(struct iommu_domain *domain, - struct device *dev, struct iommu_gpasid_bind_data *data) +int iommu_uapi_sva_bind_gpasid(struct iommu_domain *domain, + struct device *dev, struct iommu_gpasid_bind_data *data) { if (unlikely(!domain->ops->sva_bind_gpasid)) return -ENODEV; return domain->ops->sva_bind_gpasid(domain, dev, data); } -EXPORT_SYMBOL_GPL(iommu_sva_bind_gpasid); +EXPORT_SYMBOL_GPL(iommu_uapi_sva_bind_gpasid); -int iommu_sva_unbind_gpasid(struct iommu_domain *domain, struct device *dev, - ioasid_t pasid) +int iommu_uapi_sva_unbind_gpasid(struct iommu_domain *domain, struct device *dev, + ioasid_t pasid) { if (unlikely(!domain->ops->sva_unbind_gpasid)) return -ENODEV; return domain->ops->sva_unbind_gpasid(dev, pasid); } -EXPORT_SYMBOL_GPL(iommu_sva_unbind_gpasid); +EXPORT_SYMBOL_GPL(iommu_uapi_sva_unbind_gpasid); static void __iommu_detach_device(struct iommu_domain *domain, struct device *dev) diff --git a/include/linux/iommu.h b/include/linux/iommu.h index 5f0b7859d2eb..2dcc1a33f6dc 100644 --- a/include/linux/iommu.h +++ b/include/linux/iommu.h @@ -430,13 +430,13 @@ extern int iommu_attach_device(struct iommu_domain *domain, struct device *dev); extern void iommu_detach_device(struct iommu_domain *domain, struct device *dev); -extern int iommu_cache_invalidate(struct iommu_domain *domain, - struct device *dev, - struct iommu_cache_invalidate_info *inv_info); -extern int iommu_sva_bind_gpasid(struct iommu_domain *domain, - struct device *dev, struct iommu_gpasid_bind_data *data); -extern int iommu_sva_unbind_gpasid(struct iommu_domain *domain, - struct device *dev, ioasid_t pasid); +extern int iommu_uapi_cache_invalidate(struct iommu_domain *domain, + struct device *dev, + struct iommu_cache_invalidate_info *inv_info); +extern int iommu_uapi_sva_bind_gpasid(struct iommu_domain *domain, + struct device *dev, struct iommu_gpasid_bind_data *data); +extern int iommu_uapi_sva_unbind_gpasid(struct iommu_domain *domain, + struct device *dev, ioasid_t pasid); extern struct iommu_domain *iommu_get_domain_for_dev(struct device *dev); extern struct iommu_domain *iommu_get_dma_domain(struct device *dev); extern int iommu_map(struct iommu_domain *domain, unsigned long iova, @@ -1054,21 +1054,22 @@ static inline int iommu_sva_get_pasid(struct iommu_sva *handle) return IOMMU_PASID_INVALID; } -static inline int -iommu_cache_invalidate(struct iommu_domain *domain, - struct device *dev, - struct iommu_cache_invalidate_info *inv_info) +static inline int iommu_uapi_cache_invalidate(struct iommu_domain *domain, + struct device *dev, + struct iommu_cache_invalidate_info *inv_info) { return -ENODEV; } -static inline int iommu_sva_bind_gpasid(struct iommu_domain *domain, - struct device *dev, struct iommu_gpasid_bind_data *data) + +static inline int iommu_uapi_sva_bind_gpasid(struct iommu_domain *domain, + struct device *dev, + struct iommu_gpasid_bind_data *data) { return -ENODEV; } -static inline int iommu_sva_unbind_gpasid(struct iommu_domain *domain, - struct device *dev, int pasid) +static inline int iommu_uapi_sva_unbind_gpasid(struct iommu_domain *domain, + struct device *dev, int pasid) { return -ENODEV; } -- 2.7.4