Bug 755354

Summary: kernel WARNING in iommu_prepare_identity_map; RMRR exceeds permitted address width (39 bits)
Product: [Fedora] Fedora Reporter: Tony <tonynux>
Component: kernelAssignee: David Woodhouse <dwmw2>
Status: CLOSED NOTABUG QA Contact: Fedora Extras Quality Assurance <extras-qa>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 16CC: anto.trande, gansalmon, itamar, jonathan, kernel-maint, madhu.chinakonda, massi.ergosum
Target Milestone: ---   
Target Release: ---   
Hardware: x86_64   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2011-11-21 16:39:53 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:

Description Tony 2011-11-20 21:26:37 UTC
"uname -a": Linux Fedora16 3.1.1-2.fc16.x86_64 #1 SMP Mon Nov 14 15:46:10 UTC 2011 x86_64 x86_64 x86_64 GNU/Linux

How reproducible: At every boot.

From dmesg:

[    0.864901] IOMMU 0 0xfeb03000: using Register based invalidation
[    0.864904] IOMMU 2 0xfeb02000: using Register based invalidation
[    0.864909] IOMMU: Setting RMRR:
[    0.864923] IOMMU: Setting identity map for device 0000:00:1d.0 [0xfceef3ffffdfdffe - 0xfff5cfefbbe7f6bf]
[    0.864926] ------------[ cut here ]------------
[    0.864933] WARNING: at drivers/iommu/intel-iommu.c:2131 iommu_prepare_identity_map+0x163/0x1a8()
[    0.864935] Hardware name: HP Compaq 6730b (GW687AV)
[    0.864937] Your BIOS is broken; RMRR exceeds permitted address width (39 bits)
[    0.864939] BIOS vendor: Hewlett-Packard; Ver: 68PDD Ver. F.0D; Product Version: F.0D
[    0.864941] Modules linked in:
[    0.864944] Pid: 1, comm: swapper Not tainted 3.1.1-2.fc16.x86_64 #1
[    0.864947] Call Trace:
[    0.864953]  [<ffffffff81057a1e>] warn_slowpath_common+0x83/0x9b
[    0.864957]  [<ffffffff81057ad9>] warn_slowpath_fmt+0x46/0x48
[    0.864960]  [<ffffffff814b4ba8>] iommu_prepare_identity_map+0x163/0x1a8
[    0.864965]  [<ffffffff81bb3528>] intel_iommu_init+0x7c3/0xa44
[    0.864969]  [<ffffffff81031b0a>] ? free_init_pages+0x107/0x11f
[    0.864973]  [<ffffffff81b78625>] ? do_header+0x130/0x130
[    0.864977]  [<ffffffff81b7d55a>] ? memblock_find_dma_reserve+0x38/0x38
[    0.864980]  [<ffffffff81b7d56d>] pci_iommu_init+0x13/0x3e
[    0.864985]  [<ffffffff81002099>] do_one_initcall+0x7f/0x136
[    0.864988]  [<ffffffff81b76c66>] kernel_init+0xde/0x158
[    0.864992]  [<ffffffff810527bb>] ? schedule_tail+0x27/0x6c
[    0.864997]  [<ffffffff814bfa74>] kernel_thread_helper+0x4/0x10
[    0.865066]  [<ffffffff81b76b88>] ? start_kernel+0x3b6/0x3b6
[    0.865069]  [<ffffffff814bfa70>] ? gs_change+0x13/0x13
[    0.865078] ---[ end trace fe4ebffb2b8ff187 ]---
[    0.865091] IOMMU: mapping reserved region failed
[    0.865154] IOMMU: Setting identity map for device 0000:00:1d.1 [0xfceef3ffffdfdffe - 0xfff5cfefbbe7f6bf]
[    0.865156] ------------[ cut here ]------------

Comment 1 Josh Boyer 2011-11-21 14:13:12 UTC
If your BIOS is broken, I'm not sure if there is much we can do here.  David?

Comment 2 David Woodhouse 2011-11-21 14:24:26 UTC
As the message says, the BIOS is broken. Hewlett Packard is well-known for this poor quality in their products. If you can, return the broken machine for a refund.

Comment 3 David Woodhouse 2011-11-21 14:26:02 UTC
The message should *probably* be harmless, as it happens. Unless the BIOS is doing something stupid which keeps it doing DMA after the OS kernel has booted, or doing something stupid with SMM.

Comment 4 Josh Boyer 2011-11-21 16:39:53 UTC
Closing this out as NOTABUG then.

(In reply to comment #3)
> The message should *probably* be harmless, as it happens. Unless the BIOS is
> doing something stupid which keeps it doing DMA after the OS kernel has booted,
> or doing something stupid with SMM.

Do we really need a WARN_ON that generates a full stack trace if there's nothing a user or developer can do about it?  Perhaps just a strong printk instead.

Comment 5 David Woodhouse 2011-11-21 18:39:34 UTC
The WARN_ON gets catalogued in kerneloops.org and we can find useful information that way. It has been instrumental in pointing at HP, for example, and telling them "you are the single worst offender for this crap. Sort your act out". And they *have* improved, although they're still the worst. :)

Comment 6 Antonio T. (sagitter) 2011-11-21 20:55:19 UTC
(In reply to comment #5)
> The WARN_ON gets catalogued in kerneloops.org and we can find useful
> information that way. It has been instrumental in pointing at HP, for example,
> and telling them "you are the single worst offender for this crap. Sort your
> act out". And they *have* improved, although they're still the worst. :)

Therefore is it a bad work of bios simply ?

Comment 7 David Woodhouse 2011-11-22 01:58:11 UTC
That's why it says "Your BIOS is broken".

Comment 8 Tony 2011-11-22 16:01:07 UTC
So... since it is a bios bug... any last generation linux distribution I install, should I have the same message?