Re: [PATCH v1 09/10] iommu/vt-d: Refactor dmar_insert_one_dev_info()

From: Lu Baolu
Date: Tue Feb 08 2022 - 00:33:13 EST


On 2/8/22 2:27 AM, Jacob Pan wrote:
Hi BaoLu,

Hi Jacob,

On Mon, 7 Feb 2022 14:41:41 +0800, Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
wrote:

static void intel_iommu_release_device(struct device *dev)
{
- struct intel_iommu *iommu;
-
- iommu = device_to_iommu(dev, NULL, NULL);
- if (!iommu)
- return;
-
- dmar_remove_one_dev_info(dev);
+ struct device_domain_info *info = get_domain_info(dev);
+ unsigned long index = DEVI_IDX(info->segment, info->bus,
info->devfn);
+ xa_erase(&device_domain_array, index);
+ dev_iommu_priv_set(info->dev, NULL);
set_dma_ops(dev, NULL);
+ kfree(info);
Now that info and sinfo are under RCU, should we use kfree_rcu?

Yes. We should use kfree_rcu.

Best regards,
baolu