lkml.org 
[lkml]   [2023]   [Aug]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    SubjectRe: [PATCH v2 1/3] iommu: Make single-device group for PASID explicit
    From
    On 2023/8/18 11:56, Tian, Kevin wrote:
    >> From: Lu Baolu <baolu.lu@linux.intel.com>
    >> Sent: Monday, August 14, 2023 9:18 AM
    >>
    >> The PASID interfaces have always supported only single-device groups.
    >> This was first introduced in commit 26b25a2b98e45 ("iommu: Bind process
    >> address spaces to devices"), and has been kept consistent in subsequent
    >> commits.
    >>
    >> However, the core code doesn't explicitly check for this requirement
    >> after commit 201007ef707a8 ("PCI: Enable PASID only when ACS RR & UF
    >> enabled on upstream path"), which made this requirement implicit.
    >>
    >> Restore the check to make it explicit that the PASID interfaces only
    >> support devices belonging to single-device groups.
    >>
    >> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
    >> ---
    >> drivers/iommu/iommu.c | 5 +++++
    >> 1 file changed, 5 insertions(+)
    >>
    >> diff --git a/drivers/iommu/iommu.c b/drivers/iommu/iommu.c
    >> index 71b9c41f2a9e..f1eba60e573f 100644
    >> --- a/drivers/iommu/iommu.c
    >> +++ b/drivers/iommu/iommu.c
    >> @@ -3408,6 +3408,11 @@ int iommu_attach_device_pasid(struct
    >> iommu_domain *domain,
    >> return -ENODEV;
    >>
    >> mutex_lock(&group->mutex);
    >> + if (list_count_nodes(&group->devices) != 1) {
    >> + ret = -EINVAL;
    >> + goto out_unlock;
    >> + }
    >> +
    >
    > I wonder whether we should also block adding new device to this
    > group once the single-device has pasid enabled. Otherwise the

    This has been guaranteed by pci_enable_pasid():

    if (!pci_acs_path_enabled(pdev, NULL, PCI_ACS_RR | PCI_ACS_UF))
    return -EINVAL;

    > check alone at attach time doesn't mean this group won't be
    > expanded to have multiple devices later.

    Best regards,
    baolu

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