From: Lu Baolu <baolu.lu@linux.intel.com>
To: Patrick Steinhardt <ps@pks.im>, iommu@lists.linux-foundation.org
Cc: David Woodhouse <dwmw2@infradead.org>
Subject: Re: [PATCH] iommu/vt-d fix adding non-PCI devices to Intel IOMMU
Date: Mon, 30 Dec 2019 08:35:11 +0800 [thread overview]
Message-ID: <4a0cb002-bd41-b1df-5b63-16ea6f50f406@linux.intel.com> (raw)
In-Reply-To: <b47f83548d855ac920ad06b0ff78b877fa4f5189.1577404477.git.ps@pks.im>
Hi,
On 12/27/19 7:56 AM, Patrick Steinhardt wrote:
> Starting with commit fa212a97f3a3 ("iommu/vt-d: Probe DMA-capable ACPI
> name space devices"), we now probe DMA-capable ACPI name
> space devices. On Dell XPS 13 9343, which has an Intel LPSS platform
> device INTL9C60 enumerated via ACPI, this change leads to the following
> warning:
>
> ------------[ cut here ]------------
> WARNING: CPU: 1 PID: 1 at pci_device_group+0x11a/0x130
> CPU: 1 PID: 1 Comm: swapper/0 Tainted: G T 5.5.0-rc3+ #22
> Hardware name: Dell Inc. XPS 13 9343/0310JH, BIOS A20 06/06/2019
> RIP: 0010:pci_device_group+0x11a/0x130
> Code: f0 ff ff 48 85 c0 49 89 c4 75 c4 48 8d 74 24 10 48 89 ef e8 48 ef ff ff 48 85 c0 49 89 c4 75 af e8 db f7 ff ff 49 89 c4 eb a5 <0f> 0b 49 c7 c4 ea ff ff ff eb 9a e8 96 1e c7 ff 66 0f 1f 44 00 00
> RSP: 0000:ffffc0d6c0043cb0 EFLAGS: 00010202
> RAX: 0000000000000000 RBX: ffffa3d1d43dd810 RCX: 0000000000000000
> RDX: ffffa3d1d4fecf80 RSI: ffffa3d12943dcc0 RDI: ffffa3d1d43dd810
> RBP: ffffa3d1d43dd810 R08: 0000000000000000 R09: ffffa3d1d4c04a80
> R10: ffffa3d1d4c00880 R11: ffffa3d1d44ba000 R12: 0000000000000000
> R13: ffffa3d1d4383b80 R14: ffffa3d1d4c090d0 R15: ffffa3d1d4324530
> FS: 0000000000000000(0000) GS:ffffa3d1d6700000(0000) knlGS:0000000000000000
> CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
> CR2: 0000000000000000 CR3: 000000000460a001 CR4: 00000000003606e0
> Call Trace:
> ? iommu_group_get_for_dev+0x81/0x1f0
> ? intel_iommu_add_device+0x61/0x170
> ? iommu_probe_device+0x43/0xd0
> ? intel_iommu_init+0x1fa2/0x2235
> ? pci_iommu_init+0x52/0xe7
> ? e820__memblock_setup+0x15c/0x15c
> ? do_one_initcall+0xcc/0x27e
> ? kernel_init_freeable+0x169/0x259
> ? rest_init+0x95/0x95
> ? kernel_init+0x5/0xeb
> ? ret_from_fork+0x35/0x40
> ---[ end trace 28473e7abc25b92c ]---
> DMAR: ACPI name space devices didn't probe correctly
>
> The bug results from the fact that while we now enumerate ACPI devices,
> we aren't able to handle any non-PCI device when generating the device
> group. Fix the issue by implementing an Intel-specific callback that
> returns `pci_device_group` only if the device is a PCI device.
> Otherwise, it will return a generic device group.
>
> Fixes: fa212a97f3a3 ("iommu/vt-d: Probe DMA-capable ACPI name space devices")
> Signed-off-by: Patrick Steinhardt<ps@pks.im>
This will allocate per-device group for the ANDD device. Different
devices that couldn't be isolated should be put in a single group.
Unfortunately, the spec doesn't state how the ANDD devices are isolated.
Currently we don't support assigning a platform device to user level as
far as I can see, so though this fix is not the best, it won't break
anything. I will ack this fix so that the kernel crash could be fixed
before we figure out a better solution.
Cc: stable@vger.kernel.org # v5.3+
Acked-by: Lu Baolu <baolu.lu@linux.intel.com>
Best regards,
-baolu
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu
next prev parent reply other threads:[~2019-12-30 0:36 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-12-26 23:56 [PATCH] iommu/vt-d fix adding non-PCI devices to Intel IOMMU Patrick Steinhardt
2019-12-30 0:35 ` Lu Baolu [this message]
2020-01-07 13:03 ` Joerg Roedel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4a0cb002-bd41-b1df-5b63-16ea6f50f406@linux.intel.com \
--to=baolu.lu@linux.intel.com \
--cc=dwmw2@infradead.org \
--cc=iommu@lists.linux-foundation.org \
--cc=ps@pks.im \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox