[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <ce37a94b-c15a-4c03-b8ed-76bbfa369d88@linux.intel.com>
Date: Wed, 16 Apr 2025 11:37:21 +0300
From: Jarkko Nikula <jarkko.nikula@...ux.intel.com>
To: Lu Baolu <baolu.lu@...ux.intel.com>, Joerg Roedel <joro@...tes.org>,
Will Deacon <will@...nel.org>, Robin Murphy <robin.murphy@....com>,
Kevin Tian <kevin.tian@...el.com>
Cc: iommu@...ts.linux.dev, linux-kernel@...r.kernel.org
Subject: Re: [PATCH 1/1] iommu/vt-d: Revert ATS timing change to fix boot
failure
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@...ux.intel.com>
> Closes: https://lore.kernel.org/linux-iommu/01b9c72f-460d-4f77-b696-54c6825babc9@linux.intel.com/
> Signed-off-by: Lu Baolu <baolu.lu@...ux.intel.com>
> ---
> drivers/iommu/intel/iommu.c | 31 +++++++++++++++++++------------
> 1 file changed, 19 insertions(+), 12 deletions(-)
>
Tested-by: Jarkko Nikula <jarkko.nikula@...ux.intel.com>
Powered by blists - more mailing lists