From: Jarkko Nikula <jarkko.nikula@linux.intel.com>
To: Lu Baolu <baolu.lu@linux.intel.com>,
Joerg Roedel <joro@8bytes.org>, Will Deacon <will@kernel.org>,
Robin Murphy <robin.murphy@arm.com>,
Kevin Tian <kevin.tian@intel.com>
Cc: iommu@lists.linux.dev, linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/1] iommu/vt-d: Revert ATS timing change to fix boot failure
Date: Wed, 16 Apr 2025 11:37:21 +0300 [thread overview]
Message-ID: <ce37a94b-c15a-4c03-b8ed-76bbfa369d88@linux.intel.com> (raw)
In-Reply-To: <20250416073608.1799578-1-baolu.lu@linux.intel.com>
On 4/16/25 10:36 AM, Lu Baolu wrote:
> Commit <5518f239aff1> ("iommu/vt-d: Move scalable mode ATS enablement to
> probe path") changed the PCI ATS enablement logic to run earlier,
> specifically before the default domain attachment.
>
> On some client platforms, this change resulted in boot failures, causing
> the kernel to panic with the following message and call trace:
>
> Kernel panic - not syncing: DMAR hardware is malfunctioning
> CPU: 0 UID: 0 PID: 1 Comm: swapper/0 Not tainted 6.14.0-rc3+ #175
> Call Trace:
> <TASK>
> dump_stack_lvl+0x6f/0xb0
> dump_stack+0x10/0x16
> panic+0x10a/0x2b7
> iommu_enable_translation.cold+0xc/0xc
> intel_iommu_init+0xe39/0xec0
> ? trace_hardirqs_on+0x1e/0xd0
> ? __pfx_pci_iommu_init+0x10/0x10
> pci_iommu_init+0xd/0x40
> do_one_initcall+0x5b/0x390
> kernel_init_freeable+0x26d/0x2b0
> ? __pfx_kernel_init+0x10/0x10
> kernel_init+0x15/0x120
> ret_from_fork+0x35/0x60
> ? __pfx_kernel_init+0x10/0x10
> ret_from_fork_asm+0x1a/0x30
> RIP: 1f0f:0x0
> Code: Unable to access opcode bytes at 0xffffffffffffffd6.
> RSP: 0000:0000000000000000 EFLAGS: 841f0f2e66 ORIG_RAX:
> 1f0f2e6600000000
> RAX: 0000000000000000 RBX: 1f0f2e6600000000 RCX:
> 2e66000000000084
> RDX: 0000000000841f0f RSI: 000000841f0f2e66 RDI:
> 00841f0f2e660000
> RBP: 00841f0f2e660000 R08: 00841f0f2e660000 R09:
> 000000841f0f2e66
> R10: 0000000000841f0f R11: 2e66000000000084 R12:
> 000000841f0f2e66
> R13: 0000000000841f0f R14: 2e66000000000084 R15:
> 1f0f2e6600000000
> </TASK>
> ---[ end Kernel panic - not syncing: DMAR hardware is malfunctioning ]---
>
> Fix this by reverting the timing change for ATS enablement introduced by
> the offending commit and restoring the previous behavior.
>
> Fixes: 5518f239aff1 ("iommu/vt-d: Move scalable mode ATS enablement to probe path")
> Reported-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
> Closes: https://lore.kernel.org/linux-iommu/01b9c72f-460d-4f77-b696-54c6825babc9@linux.intel.com/
> Signed-off-by: Lu Baolu <baolu.lu@linux.intel.com>
> ---
> drivers/iommu/intel/iommu.c | 31 +++++++++++++++++++------------
> 1 file changed, 19 insertions(+), 12 deletions(-)
>
Tested-by: Jarkko Nikula <jarkko.nikula@linux.intel.com>
next prev parent reply other threads:[~2025-04-16 8:37 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-04-16 7:36 [PATCH 1/1] iommu/vt-d: Revert ATS timing change to fix boot failure Lu Baolu
2025-04-16 8:37 ` Jarkko Nikula [this message]
2025-04-17 2:23 ` Tian, Kevin
2025-04-17 2:46 ` Baolu Lu
2025-04-17 3:13 ` Tian, Kevin
2025-04-17 14:45 ` 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=ce37a94b-c15a-4c03-b8ed-76bbfa369d88@linux.intel.com \
--to=jarkko.nikula@linux.intel.com \
--cc=baolu.lu@linux.intel.com \
--cc=iommu@lists.linux.dev \
--cc=joro@8bytes.org \
--cc=kevin.tian@intel.com \
--cc=linux-kernel@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=will@kernel.org \
/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