RE: [PATCH 1/1] iommu/vt-d: Make context clearing consistent with context mapping

From: Tian, Kevin
Date: Mon Nov 13 2023 - 23:46:34 EST


> From: Baolu Lu <baolu.lu@xxxxxxxxxxxxxxx>
> Sent: Tuesday, November 14, 2023 11:22 AM
>
> On 11/14/23 11:20 AM, Tian, Kevin wrote:
> >> From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> >> Sent: Tuesday, November 14, 2023 9:11 AM
> >>
> >> In the iommu probe_device path, domain_context_mapping() allows
> setting
> >> up the context entry for a non-PCI device. However, in the iommu
> >> release_device path, domain_context_clear() only clears context entries
> >> for PCI devices.
> >>
> >> Make domain_context_clear() behave consistently with
> >> domain_context_mapping() by clearing context entries for both PCI and
> >> non-PCI devices.
> >>
> >> Fixes: 579305f75d34 ("iommu/vt-d: Update to use PCI DMA aliases")
> >> Signed-off-by: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
> >
> > The code before the fix tag also has the same problem. If we really want
> > backport then let's find out the very first commit which exhibits this
> > problem.
>
> Commit 579305f75d34 allows non-PCI devices.
>
> + if (!dev_is_pci(dev))
> + return domain_context_mapping_one(domain, iommu, bus, devfn,
> translation);
> +
> + data.domain = domain;
> + data.iommu = iommu;
> + data.translation = translation;
> +
> + return pci_for_each_dma_alias(to_pci_dev(dev),
> + &domain_context_mapping_cb, &data);
>
> But it forgot to update the domain_context_clear() helper. So this is
> actually a fix for that commit.

thanks. I didn't note that side effect from commit msg.

>
> >
> > But I wonder the actual impact w/o such fix. If there is no hot-remove
> > possible for those non-PCI devices the context entry will be leaved
> > enabled until the machine is off. Then this fix is nice-to-have then
> > probably no need to backport?
>
> It doesn't cause real issues as far as I can see. So there's no need to
> back port it to stable kernels. That's the reason I didn't add cc-stable
> tag. But we still need a fix tag as it's actually a fix.
>

make sense.

Reviewed-by: Kevin Tian <kevin.tian@xxxxxxxxx>