Messages in this thread | | | Date | Wed, 29 Mar 2023 14:28:51 +0800 | Subject | Re: [PATCH v2 7/8] iommu: Export iommu_get_dma_domain | From | Baolu Lu <> |
| |
On 3/28/23 11:48 PM, Jacob Pan wrote: > On Tue, 28 Mar 2023 14:04:15 +0800, Baolu Lu<baolu.lu@linux.intel.com> > wrote: > >> On 3/28/23 7:21 AM, Jacob Pan wrote: >>> Devices that use ENQCMDS to submit work needs to retrieve its DMA >>> domain. It can then attach PASID to the DMA domain for shared mapping >>> (with RID) established by DMA API. >>> >>> Signed-off-by: Jacob Pan<jacob.jun.pan@linux.intel.com> >>> --- >>> drivers/iommu/iommu.c | 1 + >>> include/linux/iommu.h | 5 +++++ >>> 2 files changed, 6 insertions(+) >>> >>> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c >>> index 10db680acaed..c51d343a75d2 100644 >>> --- a/drivers/iommu/iommu.c >>> +++ b/drivers/iommu/iommu.c >>> @@ -2118,6 +2118,7 @@ struct iommu_domain *iommu_get_dma_domain(struct >>> device *dev) { >>> return dev->iommu_group->default_domain; >>> } >>> +EXPORT_SYMBOL_GPL(iommu_get_dma_domain); >> Directly exporting this function for external use seems unsafe. If the >> caller is the kernel driver for this device, it's fine because default >> domain remains unchanged during the life cycle of the driver. Otherwise, >> using this function may cause UAF. Keep in mind that group's default >> domain could be changed through sysfs. > don't you have to unload the driver?
Yes, of cause.
Hence, the getting domain interfaces are only safe to be used in the driver of the device.
Best regards, baolu
| |