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  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Thu, 7 Jan 2021 09:18:06 +0800
From:   Lu Baolu <baolu.lu@...ux.intel.com>
To:     John Garry <john.garry@...wei.com>, joro@...tes.org,
        will@...nel.org
Cc:     baolu.lu@...ux.intel.com, iommu@...ts.linux-foundation.org,
        robin.murphy@....com, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v2 6/6] iommu: Delete iommu_dev_has_feature()

On 1/6/21 9:35 PM, John Garry wrote:
> Function iommu_dev_has_feature() has never been referenced in the tree,
> and there does not appear to be anything coming soon to use it, so delete
> it.

It will be used by the device driver which want to support the aux-
domain capability, for example, below series is under discussion.

https://lore.kernel.org/linux-pci/160408357912.912050.17005584526266191420.stgit@djiang5-desk3.ch.intel.com/

The typical use case is

         if (iommu_dev_has_feature(dev, IOMMU_DEV_FEAT_AUX)) {
                 rc = iommu_dev_enable_feature(dev, IOMMU_DEV_FEAT_AUX);
                 if (rc < 0) {
                         dev_warn(dev, "Failed to enable aux-domain: 
%d\n", rc);
                         return rc;
                 }
         }

So please don't remove it.

Best regards,
baolu

> 
> Signed-off-by: John Garry <john.garry@...wei.com>
> ---
>   drivers/iommu/iommu.c | 11 -----------
>   include/linux/iommu.h |  7 -------
>   2 files changed, 18 deletions(-)
> 
> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
> index 20201ef97b8f..91f7871f5a37 100644
> --- a/drivers/iommu/iommu.c
> +++ b/drivers/iommu/iommu.c
> @@ -2853,17 +2853,6 @@ EXPORT_SYMBOL_GPL(iommu_fwspec_add_ids);
>   /*
>    * Per device IOMMU features.
>    */
> -bool iommu_dev_has_feature(struct device *dev, enum iommu_dev_features feat)
> -{
> -	const struct iommu_ops *ops = dev->bus->iommu_ops;
> -
> -	if (ops && ops->dev_has_feat)
> -		return ops->dev_has_feat(dev, feat);
> -
> -	return false;
> -}
> -EXPORT_SYMBOL_GPL(iommu_dev_has_feature);
> -
>   int iommu_dev_enable_feature(struct device *dev, enum iommu_dev_features feat)
>   {
>   	const struct iommu_ops *ops = dev->bus->iommu_ops;
> diff --git a/include/linux/iommu.h b/include/linux/iommu.h
> index 72059fcfa108..91d94c014f47 100644
> --- a/include/linux/iommu.h
> +++ b/include/linux/iommu.h
> @@ -626,7 +626,6 @@ static inline void dev_iommu_priv_set(struct device *dev, void *priv)
>   int iommu_probe_device(struct device *dev);
>   void iommu_release_device(struct device *dev);
>   
> -bool iommu_dev_has_feature(struct device *dev, enum iommu_dev_features f);
>   int iommu_dev_enable_feature(struct device *dev, enum iommu_dev_features f);
>   int iommu_dev_disable_feature(struct device *dev, enum iommu_dev_features f);
>   bool iommu_dev_feature_enabled(struct device *dev, enum iommu_dev_features f);
> @@ -975,12 +974,6 @@ const struct iommu_ops *iommu_ops_from_fwnode(struct fwnode_handle *fwnode)
>   	return NULL;
>   }
>   
> -static inline bool
> -iommu_dev_has_feature(struct device *dev, enum iommu_dev_features feat)
> -{
> -	return false;
> -}
> -
>   static inline bool
>   iommu_dev_feature_enabled(struct device *dev, enum iommu_dev_features feat)
>   {
> 

Powered by blists - more mailing lists