lkml.org 
[lkml]   [2023]   [Mar]   [29]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2 7/8] iommu: Export iommu_get_dma_domain
    From
    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

    \
     
     \ /
      Last update: 2023-03-29 08:28    [W:2.516 / U:0.028 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site