Bug 701847 - [Kdump] WARNING: at drivers/pci/intel-iommu.c:3069 quirk_ioat_snb_local_iommu+0xbc/0xd0() (Tainted
Summary: [Kdump] WARNING: at drivers/pci/intel-iommu.c:3069 quirk_ioat_snb_local_iommu...
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Red Hat Enterprise Linux 6
Classification: Red Hat
Component: kernel
Version: 6.1
Hardware: x86_64
OS: Linux
unspecified
medium
Target Milestone: rc
: ---
Assignee: Denys Vlasenko
QA Contact: Red Hat Kernel QE team
URL:
Whiteboard:
: 960248 1175405 (view as bug list)
Depends On:
Blocks: 1269638 1318769
TreeView+ depends on / blocked
 
Reported: 2011-05-04 03:27 UTC by Chao Ye
Modified: 2016-06-03 14:31 UTC (History)
11 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-05-31 11:39:52 UTC
Target Upstream Version:


Attachments (Terms of Use)

Description Chao Ye 2011-05-04 03:27:58 UTC
Description of problem:
------------[ cut here ]------------ 
WARNING: at drivers/pci/intel-iommu.c:3069 quirk_ioat_snb_local_iommu+0xbc/0xd0() (Tainted: G           ---------------- T) 
Hardware name: AltixXE250 
BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device 
Modules linked in: ioatdma(+) iTCO_wdt i2c_i801 ghes igb auth_rpcgss nfs_acl lockd dm_multipath i2c_core hwmon scsi_tgt mptbase ata_piix pata_acpi ata_generic usb_storage scsi_transport_sas crc_t10dif cdrom scsi_dh_rdac jbd2 mbcache shpchp edac_core dca iTCO_vendor_support sg hed serio_raw microcode mlx4_core ipv6 sunrpc fscache(T) dm_snapshot dm_zero dm_mirror dm_region_hash dm_log dm_mod 
Pid: 276, comm: insmod Tainted: G           ---------------- T 2.6.32-131.0.10.el6.x86_64 #1 
Call Trace: 
 [<ffffffff81067137>] ? warn_slowpath_common+0x87/0xc0 
 [<ffffffff810671cf>] ? warn_slowpath_fmt_taint+0x3f/0x50 
 [<ffffffff812971ac>] ? quirk_ioat_snb_local_iommu+0xbc/0xd0 
 [<ffffffff812847bd>] ? pci_enable_resources+0x2d/0x170 
 [<ffffffff8127fc7b>] ? pci_fixup_device+0x9b/0x160 
 [<ffffffff8127ed2c>] ? do_pci_enable_device+0x5c/0x70 
 [<ffffffff8127eda8>] ? __pci_enable_device_flags+0x68/0x80 
 [<ffffffff8127edd3>] ? pci_enable_device+0x13/0x20 
 [<ffffffff8127ee40>] ? pcim_enable_device+0x60/0xc0 
 [<ffffffffa0223623>] ? ioat_pci_probe+0x18/0x184 [ioatdma] 
 [<ffffffff81280bd7>] ? local_pci_probe+0x17/0x20 
 [<ffffffff81281dc1>] ? pci_device_probe+0x101/0x120 
 [<ffffffff8133b7a2>] ? driver_sysfs_add+0x62/0x90 
 [<ffffffff8133b940>] ? driver_probe_device+0xa0/0x2a0 
 [<ffffffff8133bbeb>] ? __driver_attach+0xab/0xb0 
 [<ffffffff8133bb40>] ? __driver_attach+0x0/0xb0 
 [<ffffffff8133aba4>] ? bus_for_each_dev+0x64/0x90 
 [<ffffffff8133b6de>] ? driver_attach+0x1e/0x20 
 [<ffffffff8133afe0>] ? bus_add_driver+0x200/0x300 
 [<ffffffff8133bf16>] ? driver_register+0x76/0x140 
 [<ffffffff81282026>] ? __pci_register_driver+0x56/0xd0 
 [<ffffffffa022d000>] ? ioat_init_module+0x0/0x85 [ioatdma] 
 [<ffffffffa022d000>] ? ioat_init_module+0x0/0x85 [ioatdma] 
 [<ffffffffa022d06d>] ? ioat_init_module+0x6d/0x85 [ioatdma] 
 [<ffffffff8100204c>] ? do_one_initcall+0x3c/0x1d0 
 [<ffffffff810aca5f>] ? sys_init_module+0xdf/0x250 
 [<ffffffff8100b172>] ? system_call_fastpath+0x16/0x1b 
---[ end trace c67a5e4c6a8c812f ]--- 

Version-Release number of selected component (if applicable):
kernel-2.6.32-131.0.10.el6.x86_64
kexec-tools-2.0.0-188.el6.x86_64

How reproducible:
sgi-xe250-02.rhts.eng.bos.redhat.com

Steps to Reproduce:
1.Install RHEL6.1-20110427.0
2.Setup kdump
3.Trigger crash
  
Actual results:


Expected results:


Additional info:
https://beaker.engineering.redhat.com/jobs/80932

Comment 1 KernelOops Bot 2011-05-04 03:30:03 UTC
warns with this stack:  bug 678952
 with this guiltyfunc:  bug 527824 bug 528295 bug 528296 bug 528521 bug 528768 bug 530380 bug 536855 bug 536985 bug 542694 bug 562008

Comment 4 RHEL Program Management 2011-05-04 06:01:29 UTC
Since RHEL 6.1 External Beta has begun, and this bug remains
unresolved, it has been rejected as it is not proposed as
exception or blocker.

Red Hat invites you to ask your support representative to
propose this request, if appropriate and relevant, in the
next release of Red Hat Enterprise Linux.

Comment 5 Prarit Bhargava 2011-05-13 13:02:44 UTC
Part of the warning message is missing:

"BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device"

The OS worked around this BIOS bug and is notifying the end user that the BIOS is busted.

NOTABUG.

P.

Comment 6 Jeff Burke 2013-05-06 19:22:16 UTC
*** Bug 960248 has been marked as a duplicate of this bug. ***

Comment 8 PaulB 2015-12-08 15:27:32 UTC
All,
Issue persists:
https://beaker.engineering.redhat.com/recipes/2364980
http://beaker-archive.app.eng.bos.redhat.com/beaker-logs/2015/12/11655/1165550/2364980/console.log
---<-snip->---
------------[ cut here ]------------ 
WARNING: at drivers/pci/intel-iommu.c:3277 quirk_ioat_snb_local_iommu+0xab/0xc0() (Not tainted) 
Hardware name: AltixXE320 
BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device 
Modules linked in: ioatdma(+) dca shpchp ext4 jbd2 mbcache sd_mod crc_t10dif sr_mod cdrom ahci usb_storage radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan] 
Pid: 500, comm: modprobe Not tainted 2.6.32-504.41.1.el6.x86_64.debug #1 
Call Trace: 
 [<ffffffff81079517>] ? warn_slowpath_common+0x87/0xc0 
 [<ffffffff810795af>] ? warn_slowpath_fmt_taint+0x3f/0x50 
 [<ffffffff812ef33b>] ? quirk_ioat_snb_local_iommu+0xab/0xc0 
 [<ffffffff812d7e51>] ? pci_fixup_device+0xe1/0x1e0 
 [<ffffffff812d71fc>] ? do_pci_enable_device+0x5c/0x70 
 [<ffffffff812d729d>] ? pci_enable_device_flags+0x8d/0xa0 
 [<ffffffff812d72c3>] ? pci_enable_device+0x13/0x20 
 [<ffffffff812d7330>] ? pcim_enable_device+0x60/0xc0 
 [<ffffffffa03b5ff9>] ? ioat_pci_probe+0x18/0x16e [ioatdma] 
 [<ffffffff812d8f77>] ? local_pci_probe+0x17/0x20 
 [<ffffffff812da171>] ? pci_device_probe+0x101/0x120 
 [<ffffffff813985f2>] ? driver_sysfs_add+0x62/0x90 
 [<ffffffff8139888f>] ? driver_probe_device+0x9f/0x3e0 
 [<ffffffff81398c7b>] ? __driver_attach+0xab/0xb0 
 [<ffffffff81398bd0>] ? __driver_attach+0x0/0xb0 
 [<ffffffff81397a1c>] ? bus_for_each_dev+0x6c/0xa0 
 [<ffffffff8139852e>] ? driver_attach+0x1e/0x20 
 [<ffffffff813971e8>] ? bus_add_driver+0x208/0x2d0 
 [<ffffffff81398ee6>] ? driver_register+0x76/0x140 
 [<ffffffff812c4968>] ? __spin_lock_init+0x38/0x70 
 [<ffffffff812da3e6>] ? __pci_register_driver+0x66/0xe0 
 [<ffffffffa03be000>] ? ioat_init_module+0x0/0x85 [ioatdma] 
 [<ffffffffa03be000>] ? ioat_init_module+0x0/0x85 [ioatdma] 
 [<ffffffffa03be06d>] ? ioat_init_module+0x6d/0x85 [ioatdma] 
 [<ffffffff8100204c>] ? do_one_initcall+0x3c/0x1d0 
 [<ffffffff810d1e93>] ? sys_init_module+0xe3/0x260 
 [<ffffffff8100b092>] ? system_call_fastpath+0x16/0x1b 
---[ end trace db08127a324c0c84 ]--- 
---<-snip->---

Best,
-pbunyan

Comment 10 guazhang@redhat.com 2016-03-14 10:07:02 UTC
All
-----------[ cut here ]------------
WARNING: at drivers/pci/intel-iommu.c:3284 quirk_ioat_snb_local_iommu+0xab/0xc0() (Not tainted)

Hardware name: AltixXE320

BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device

Modules linked in: ioatdma(+) dca shpchp ext4 jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif ahci usb_storage radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]

Pid: 665, comm: modprobe Not tainted 2.6.32-621.el6.x86_64 #1

Call Trace:

 [<ffffffff8107c911>] ? warn_slowpath_common+0x91/0xe0

 [<ffffffff8107c9bf>] ? warn_slowpath_fmt_taint+0x3f/0x50

 [<ffffffff812d4eab>] ? quirk_ioat_snb_local_iommu+0xab/0xc0

 [<ffffffff812bde41>] ? pci_fixup_device+0xe1/0x1e0

 [<ffffffff812bd68c>] ? do_pci_enable_device+0x5c/0x70

 [<ffffffff812bd72d>] ? pci_enable_device_flags+0x8d/0xa0

 [<ffffffff812bd753>] ? pci_enable_device+0x13/0x20

 [<ffffffff812bd7c0>] ? pcim_enable_device+0x60/0xc0

 [<ffffffffa0405c49>] ? ioat_pci_probe+0x18/0x16e [ioatdma]

 [<ffffffff812bef67>] ? local_pci_probe+0x17/0x20

 [<ffffffff812c0151>] ? pci_device_probe+0x101/0x120

 [<ffffffff813802e2>] ? driver_sysfs_add+0x62/0x90

 [<ffffffff8138058a>] ? driver_probe_device+0xaa/0x3a0

 [<ffffffff8138092b>] ? __driver_attach+0xab/0xb0

 [<ffffffff81380880>] ? __driver_attach+0x0/0xb0

 [<ffffffff8137f774>] ? bus_for_each_dev+0x64/0x90

 [<ffffffff8138021e>] ? driver_attach+0x1e/0x20

 [<ffffffff8137ef88>] ? bus_add_driver+0x1e8/0x2b0

 [<ffffffff81380b3f>] ? driver_register+0x5f/0xe0

 [<ffffffff812c03b6>] ? __pci_register_driver+0x56/0xd0

 [<ffffffffa040e000>] ? ioat_init_module+0x0/0x85 [ioatdma]

 [<ffffffffa040e06d>] ? ioat_init_module+0x6d/0x85 [ioatdma]

 [<ffffffff810020d0>] ? do_one_initcall+0xc0/0x280

 [<ffffffff810c85f1>] ? sys_init_module+0xe1/0x250

 [<ffffffff8100b0d2>] ? system_call_fastpath+0x16/0x1b

---[ end trace bc95f1813ed90d6b ]---


End of log.


host: sgi-xe320-03.rhts.eng.bos.redhat.com
Distro 	RHEL-6.8-20160302.0 Server x86_64 
kernel:2.6.32-621.el6


Best
Guazhang

Comment 11 Jeff Burke 2016-03-29 14:27:59 UTC
I am not really sure why this is assigned to kexec/kdump team. It does _not_ only happen when booting the exec kernel. This WARNING message is printed during normal booting. Also it is seen with 32 bit as well. See Beaker Recipe R:2559190 Task T:39058633


------------[ cut here ]------------
WARNING: at drivers/pci/intel-iommu.c:3281 quirk_ioat_snb_local_iommu+0xc7/0xd0() (Not tainted)

Hardware name: AltixXE320

BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device

Modules linked in: scsi_wait_scan(+) ioatdma(+) dca ext4 jbd2 mbcache sr_mod cdrom sd_mod crc_t10dif ahci usb_storage radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core dm_mirror dm_region_hash dm_log dm_mod [last unloaded: scsi_wait_scan]

Pid: 746, comm: modprobe Not tainted 2.6.32-573.el6.i686 #1

Call Trace:

 [<c045fb89>] ? warn_slowpath_common+0x89/0xe0

 [<c0646197>] ? quirk_ioat_snb_local_iommu+0xc7/0xd0

 [<c045fc33>] ? warn_slowpath_fmt_taint+0x33/0x40

 [<c0646197>] ? quirk_ioat_snb_local_iommu+0xc7/0xd0

 [<c06316ee>] ? pci_fixup_device+0xce/0x1f0

 [<c06309b9>] ? pci_set_power_state+0x49/0x260

 [<c0630ca9>] ? do_pci_enable_device+0x49/0x60

 [<c0630d4d>] ? pci_enable_device_flags+0x8d/0xa0

 [<c0630dbf>] ? pcim_enable_device+0x4f/0xb0

 [<f9339958>] ? ioat_pci_probe+0xe/0x142 [ioatdma]

 [<c063271b>] ? local_pci_probe+0xb/0x10

 [<c0633501>] ? pci_device_probe+0x61/0x80

 [<c06de7f0>] ? driver_probe_device+0x90/0x370

 [<c05a37f9>] ? sysfs_create_dir+0x29/0x40

 [<c06327f2>] ? pci_match_device+0x12/0xa0

 [<c06deb49>] ? __driver_attach+0x79/0x80

 [<c06dead0>] ? __driver_attach+0x0/0x80

 [<c06ddc32>] ? bus_for_each_dev+0x52/0x80

 [<c06de4e6>] ? driver_attach+0x16/0x20

 [<c06dead0>] ? __driver_attach+0x0/0x80

 [<c06dd56f>] ? bus_add_driver+0x1df/0x2b0

 [<c0613735>] ? kset_find_obj_hinted+0x85/0xa0

 [<c0633440>] ? pci_device_remove+0x0/0x40

 [<c06ded0f>] ? driver_register+0x5f/0x110

 [<c063371d>] ? __pci_register_driver+0x3d/0xb0

 [<f9340062>] ? ioat_init_module+0x62/0x79 [ioatdma]

 [<c04030d2>] ? do_one_initcall+0xc2/0x290

 [<f9340000>] ? ioat_init_module+0x0/0x79 [ioatdma]

 [<c0489043>] ? __blocking_notifier_call_chain+0x53/0x70

 [<f9340000>] ? ioat_init_module+0x0/0x79 [ioatdma]

 [<c04a1034>] ? sys_init_module+0xb4/0x220

 [<c0409bbf>] ? sysenter_do_call+0x12/0x28

---[ end trace 2ecb403957a51ef1 ]---


End of log.

Comment 13 Baoquan He 2016-03-30 08:26:37 UTC
Well, it was assigned to me at a kdump meeting since it's a kdump bug. I am fine to assign back if it's actually a 1st kernel bug. For now I have no time to check this bug.

Thanks
Baoquan

Comment 14 PaulB 2016-05-09 13:53:35 UTC
(In reply to Prarit Bhargava from comment #5)
> Part of the warning message is missing:
> 
> "BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device"
> 
> The OS worked around this BIOS bug and is notifying the end user that the
> BIOS is busted.
> 
> NOTABUG.
> 
> P.


All,
Issue persist into RHEL-6.8-20160414.0:
 https://beaker.engineering.redhat.com/recipes/2707518

Looking back in the comments.
Seems I reopened this after PraritB closed this.

Ill touch bases with prarit and confirm he feels it should be closed.

Best,
-pbunyan

Comment 15 Prarit Bhargava 2016-05-31 11:39:52 UTC
(In reply to PaulB from comment #14)
> (In reply to Prarit Bhargava from comment #5)
> > Part of the warning message is missing:
> > 
> > "BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device"
> > 
> > The OS worked around this BIOS bug and is notifying the end user that the
> > BIOS is busted.
> > 
> > NOTABUG.
> > 
> > P.
> 
> 
> All,
> Issue persist into RHEL-6.8-20160414.0:
>  https://beaker.engineering.redhat.com/recipes/2707518
> 
> Looking back in the comments.
> Seems I reopened this after PraritB closed this.
> 
> Ill touch bases with prarit and confirm he feels it should be closed.
> 
> Best,
> -pbunyan

Still not a bug (and TBH, unlikely to be fixed in 6.9).

P.

Comment 16 Denys Vlasenko 2016-06-03 14:25:05 UTC
*** Bug 1175405 has been marked as a duplicate of this bug. ***

Comment 17 Denys Vlasenko 2016-06-03 14:31:57 UTC
I tried this patch on the affected machine:

        rc = pci_bus_read_config_dword(pdev->bus, PCI_DEVFN(0, 0), 0xb0, &vtbar);
        if (rc) {
                /* "can't" happen */
                dev_info(&pdev->dev, "failed to run vt-d quirk\n");
                return;
        }
-       vtbar &= 0xffff0000;
+//     vtbar &= 0xffff0000;

        /* we know that the this iommu should be at offset 0xa000 from vtbar */
        drhd = dmar_find_matched_drhd_unit(pdev);
+       if (!drhd)
+               printk(KERN_INFO "!drhd, vtbar:0x%x\n", vtbar);
+       else
+               printk(KERN_INFO "drhd->reg_base_addr:0x%lx vtbar:0x%x\n", (long)drhd->reg_base_addr, vtbar);
+vtbar &= 0xffff0000;
        if (WARN_TAINT_ONCE(!drhd || drhd->reg_base_addr - vtbar != 0xa000,
                            TAINT_FIRMWARE_WORKAROUND,
                            "BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device\n"))

dmesg indicates that it's not the wrong offset.
It's a case where we *can't determine* whether it's wrong.
dmar_find_matched_drhd_unit() returned NULL:

udev: starting version 147
shpchp: Standard Hot Plug PCI Controller Driver version: 0.4
dca service started, version 1.12.1
ioatdma: Intel(R) QuickData Technology Driver 4.00
  alloc irq_desc for 33 on node -1
  alloc kstat_irqs on node -1
ioatdma 0000:00:0f.0: PCI INT A -> GSI 33 (level, low) -> IRQ 33
!drhd, vtbar:0xfe710000
------------[ cut here ]------------
WARNING: at drivers/pci/intel-iommu.c:3289 quirk_ioat_snb_local_iommu+0xe9/0x100() (Not tainted)
Hardware name: AltixXE320
BIOS assigned incorrect VT-d unit for Intel(R) QuickData Technology device
Modules linked in: ioatdma(+) dca shpchp ext4 jbd2 mbcache sd_mod crc_t10dif sr_mod cdrom ahci usb_storage radeon ttm drm_kms_helper drm i2c_algo_bit i2c_core dm_mirror dm_regi
on_hash dm_log dm_mod [last unloaded: scsi_wait_scan]
Pid: 705, comm: modprobe Not tainted 2.6.32-644.el6.bz701847.x86_64 #1
Call Trace:
 [<ffffffff8107c911>] ? warn_slowpath_common+0x91/0xe0
 [<ffffffff8107c9bf>] ? warn_slowpath_fmt_taint+0x3f/0x50


Note You need to log in before you can comment on or make changes to this bug.