Bug 811492 - warn_invalid_dmar in detect_intel_iommu on HP Pavilion dv6 Notebook PC
Summary: warn_invalid_dmar in detect_intel_iommu on HP Pavilion dv6 Notebook PC
Keywords:
Status: CLOSED CANTFIX
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel
Version: 16
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: ---
Assignee: Kernel Maintainer List
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2012-04-11 09:17 UTC by Mads Kiilerich
Modified: 2012-04-11 12:33 UTC (History)
6 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2012-04-11 10:27:08 UTC
Type: Bug


Attachments (Terms of Use)

Description Mads Kiilerich 2012-04-11 09:17:52 UTC
[    0.000000] ------------[ cut here ]------------
[    0.000000] WARNING: at drivers/iommu/dmar.c:492 warn_invalid_dmar+0x98/0xb0()
[    0.000000] Hardware name: HP Pavilion dv6 Notebook PC
[    0.000000] Your BIOS is broken; DMAR reported at address 0!
[    0.000000] BIOS vendor: Hewlett-Packard; Ver: F.21; Product Version: Rev 1
[    0.000000] Modules linked in:
[    0.000000] Pid: 0, comm: swapper Not tainted 3.2.9-2.fc16.i686.PAE #1
[    0.000000] Call Trace:
[    0.000000]  [<c045ea52>] warn_slowpath_common+0x72/0xa0
[    0.000000]  [<c082ec68>] ? warn_invalid_dmar+0x98/0xb0
[    0.000000]  [<c082ec68>] ? warn_invalid_dmar+0x98/0xb0
[    0.000000]  [<c045eae2>] warn_slowpath_fmt_taint+0x32/0x40
[    0.000000]  [<c082ec68>] warn_invalid_dmar+0x98/0xb0
[    0.000000]  [<c0c03fac>] check_zero_address+0x59/0x125
[    0.000000]  [<c06cd165>] ? acpi_get_table_with_size+0x59/0xb3
[    0.000000]  [<c0c0408a>] detect_intel_iommu+0x12/0x78
[    0.000000]  [<c0bd1d1f>] pci_iommu_alloc+0x35/0x5a
[    0.000000]  [<c0bddf9a>] mem_init+0xe/0x28c
[    0.000000]  [<c0be8d6f>] ? __alloc_bootmem_node_nopanic+0x72/0x99
[    0.000000]  [<c0935576>] ? printk+0x2d/0x2f
[    0.000000]  [<c0beb2d1>] ? page_cgroup_init_flatmem+0x8f/0xbc
[    0.000000]  [<c0bca5ec>] start_kernel+0x1a6/0x35d
[    0.000000]  [<c0bca1d7>] ? loglevel+0x2b/0x2b
[    0.000000]  [<c0bca0ba>] i386_start_kernel+0xa9/0xaf
[    0.000000] ---[ end trace a7919e7f17c0a725 ]---

The BIOS might be broken, but then I would expect the kernel to have a workaround for such a well-known brand.

Comment 1 Josh Boyer 2012-04-11 10:27:08 UTC
(In reply to comment #0)
> [    0.000000] ------------[ cut here ]------------
> [    0.000000] WARNING: at drivers/iommu/dmar.c:492
> warn_invalid_dmar+0x98/0xb0()
> [    0.000000] Hardware name: HP Pavilion dv6 Notebook PC
> [    0.000000] Your BIOS is broken; DMAR reported at address 0!
> [    0.000000] BIOS vendor: Hewlett-Packard; Ver: F.21; Product Version: Rev 1
> [    0.000000] Modules linked in:
> [    0.000000] Pid: 0, comm: swapper Not tainted 3.2.9-2.fc16.i686.PAE #1
> [    0.000000] Call Trace:
> [    0.000000]  [<c045ea52>] warn_slowpath_common+0x72/0xa0
> [    0.000000]  [<c082ec68>] ? warn_invalid_dmar+0x98/0xb0
> [    0.000000]  [<c082ec68>] ? warn_invalid_dmar+0x98/0xb0
> [    0.000000]  [<c045eae2>] warn_slowpath_fmt_taint+0x32/0x40
> [    0.000000]  [<c082ec68>] warn_invalid_dmar+0x98/0xb0
> [    0.000000]  [<c0c03fac>] check_zero_address+0x59/0x125
> [    0.000000]  [<c06cd165>] ? acpi_get_table_with_size+0x59/0xb3
> [    0.000000]  [<c0c0408a>] detect_intel_iommu+0x12/0x78
> [    0.000000]  [<c0bd1d1f>] pci_iommu_alloc+0x35/0x5a
> [    0.000000]  [<c0bddf9a>] mem_init+0xe/0x28c
> [    0.000000]  [<c0be8d6f>] ? __alloc_bootmem_node_nopanic+0x72/0x99
> [    0.000000]  [<c0935576>] ? printk+0x2d/0x2f
> [    0.000000]  [<c0beb2d1>] ? page_cgroup_init_flatmem+0x8f/0xbc
> [    0.000000]  [<c0bca5ec>] start_kernel+0x1a6/0x35d
> [    0.000000]  [<c0bca1d7>] ? loglevel+0x2b/0x2b
> [    0.000000]  [<c0bca0ba>] i386_start_kernel+0xa9/0xaf
> [    0.000000] ---[ end trace a7919e7f17c0a725 ]---
> 
> The BIOS might be broken, but then I would expect the kernel to have a
> workaround for such a well-known brand.

That essentially is the workaround.  It's very verbose but it detects a broken DMAR and basically disables it.  This should be informational only and there isn't much we can do about a broken BIOS other than not use what it provided.

Comment 2 Mads Kiilerich 2012-04-11 10:49:28 UTC
FWIW, when the broken firmware is known and handled by workaround, then I would expect it to show a less verbose informational message - with a less scary WARNING and without a call trace.

Comment 3 Josh Boyer 2012-04-11 12:33:15 UTC
(In reply to comment #2)
> FWIW, when the broken firmware is known and handled by workaround, then I would
> expect it to show a less verbose informational message - with a less scary
> WARNING and without a call trace.

Yeah.  Apparently upstream doesn't think so.


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