lists.openwall.net | lists / announce owl-users owl-dev john-users john-dev passwdqc-users yescrypt popa3d-users / oss-security kernel-hardening musl sabotage tlsify passwords / crypt-dev xvendor / Bugtraq Full-Disclosure linux-kernel linux-netdev linux-ext4 linux-hardening linux-cve-announce PHC | |
Open Source and information security mailing list archives
| ||
|
Date: Sat, 28 Nov 2009 06:17:37 +0000 From: David Woodhouse <dwmw2@...radead.org> To: Yinghai Lu <yhlu.kernel@...il.com> Cc: Fenghua Yu <fenghua.yu@...el.com>, "Barnes, Jesse" <jesse.barnes@...el.com>, Greg KH <gregkh@...e.de>, Andrew Morton <akpm@...ux-foundation.org>, torvalds@...ux-foundation.org, jbarnes@...tuousgeek.org, stable@...nel.org, iommu@...ts.linux-foundation.org, linux-kernel@...r.kernel.org Subject: Re: [stable][PATCH] PCIe hot-plug for Intel IOMMU On Wed, 2009-11-11 at 13:27 -0800, Yinghai Lu wrote: > On Wed, Nov 11, 2009 at 7:23 AM, Fenghua Yu <fenghua.yu@...el.com> wrote: > > To support PCIe hot plug in IOMMU, we register a notifier to respond to device > > change action. > > > > When the notifier gets BUS_NOTIFY_UNBOUND_DRIVER, it removes the device from its > > DMAR domain. > > > > A hot added device will be added into an IOMMU domain when it first does IOMMU > > op. So there is no need to add more code for hot add. > > > > Without the patch, after a hot-remove, a hot-added device on the same slot will > > not work. > > > > Signed-off-by: Fenghua Yu <fenghua.yu@...el.com> > > Tested-by: Yinghai Lu <yinghai@...nel.org> But not with 'intel_iommu=igfx_off', I note. The call to find_domain() will oops when it runs on the graphics device with ->archdata.iommu == DUMMY_DEVICE_DOMAIN_INFO (== -1). All other calls to find_domain() are guaranteed not to happen for such devices. One might argue that find_domain() should cope, but do we really want to be doing that extra check in the unmap fast path? Testing this fix now... diff --git a/drivers/pci/intel-iommu.c b/drivers/pci/intel-iommu.c index 1840a05..f44a015 100644 --- a/drivers/pci/intel-iommu.c +++ b/drivers/pci/intel-iommu.c @@ -3228,6 +3228,9 @@ static int device_notifier(struct notifier_block *nb, struct pci_dev *pdev = to_pci_dev(dev); struct dmar_domain *domain; + if (iommu_no_mapping(dev)) + return 0; + domain = find_domain(pdev); if (!domain) return 0; -- David Woodhouse Open Source Technology Centre David.Woodhouse@...el.com Intel Corporation -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@...r.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists