DMAR:[fault reason 05] PTE Write access is not set

Bug #911236 reported by Jamie Strandboge
30
This bug affects 5 people
Affects Status Importance Assigned to Milestone
Linux
Fix Released
Critical
linux (Ubuntu)
Fix Released
Medium
Leann Ogasawara

Bug Description

After upgrading to Precise, the systems 'pauses' every few seconds and I get loads of the following in dmesg:

[ 56.996322] DRHD: handling fault status reg 2
[ 56.996330] DMAR:[DMA Write] Request device [00:02.0] fault addr 7bf1c7000
[ 56.996332] DMAR:[fault reason 05] PTE Write access is not set

I have an Intel i7. This never happened in 11.10. I saw bug #894070 which had similar (but different) errors, and saw that using 'intel_iommu=off' could be a workaround. I tried it and the errors went away and the system operates normally again.

ProblemType: Bug
DistroRelease: Ubuntu 12.04
Package: linux-image-3.2.0-7-generic 3.2.0-7.13
ProcVersionSignature: Ubuntu 3.2.0-7.13-generic 3.2.0-rc7
Uname: Linux 3.2.0-7-generic x86_64
AlsaVersion: Advanced Linux Sound Architecture Driver Version 1.0.24.
ApportVersion: 1.90-0ubuntu1
Architecture: amd64
ArecordDevices:
 **** List of CAPTURE Hardware Devices ****
 card 0: Intel [HDA Intel], device 0: CONEXANT Analog [CONEXANT Analog]
   Subdevices: 1/1
   Subdevice #0: subdevice #0
AudioDevicesInUse:
 USER PID ACCESS COMMAND
 /dev/snd/controlC0: jamie 2362 F.... pulseaudio
Card0.Amixer.info:
 Card hw:0 'Intel'/'HDA Intel at 0xf2520000 irq 48'
   Mixer name : 'Intel IbexPeak HDMI'
   Components : 'HDA:14f15069,17aa2156,00100302 HDA:80862804,17aa21b5,00100000'
   Controls : 13
   Simple ctrls : 6
Card29.Amixer.info:
 Card hw:29 'ThinkPadEC'/'ThinkPad Console Audio Control at EC reg 0x30, fw 6QHT32WW-1.13'
   Mixer name : 'ThinkPad EC 6QHT32WW-1.13'
   Components : ''
   Controls : 1
   Simple ctrls : 1
Card29.Amixer.values:
 Simple mixer control 'Console',0
   Capabilities: pswitch pswitch-joined penum
   Playback channels: Mono
   Mono: Playback [on]
Date: Tue Jan 3 07:38:20 2012
HibernationDevice: RESUME=UUID=c4c5dbc0-d41a-428d-8af4-b680b67dd3dc
InstallationMedia: Ubuntu 11.04 "Natty Narwhal" - Release amd64 (20110425.2)
MachineType: LENOVO 5129CTO
ProcKernelCmdLine: BOOT_IMAGE=/boot/vmlinuz-3.2.0-7-generic root=UUID=88689ad2-74b5-442c-9290-8ae60b63e16b ro quiet splash vt.handoff=7
RelatedPackageVersions:
 linux-restricted-modules-3.2.0-7-generic N/A
 linux-backports-modules-3.2.0-7-generic N/A
 linux-firmware 1.67
SourcePackage: linux
StagingDrivers: mei
UpgradeStatus: Upgraded to precise on 2012-01-02 (0 days ago)
dmi.bios.date: 02/24/2011
dmi.bios.vendor: LENOVO
dmi.bios.version: 6QET64WW (1.34 )
dmi.board.name: 5129CTO
dmi.board.vendor: LENOVO
dmi.board.version: Not Available
dmi.chassis.asset.tag: No Asset Information
dmi.chassis.type: 10
dmi.chassis.vendor: LENOVO
dmi.chassis.version: Not Available
dmi.modalias: dmi:bvnLENOVO:bvr6QET64WW(1.34):bd02/24/2011:svnLENOVO:pn5129CTO:pvrThinkPadX201s:rvnLENOVO:rn5129CTO:rvrNotAvailable:cvnLENOVO:ct10:cvrNotAvailable:
dmi.product.name: 5129CTO
dmi.product.version: ThinkPad X201s
dmi.sys.vendor: LENOVO

CVE References

Revision history for this message
Jamie Strandboge (jdstrand) wrote :
Brad Figg (brad-figg)
Changed in linux (Ubuntu):
status: New → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Medium
Revision history for this message
Joseph Salisbury (jsalisbury) wrote :

Hi Jamie,

Could you boot into the 3.2.0-4.10 kernel and see if the issue still exists? That previous kernel is available at:
https://launchpad.net/ubuntu/+source/linux/3.2.0-4.10/+build/2999295

Thanks

tags: added: kernel-da-hotlist
tags: added: kernel-da-key
removed: kernel-da-hotlist
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Jamie,

Can you also try booting with 'intel_iommu=igfx_off' instead and let us know your results. This will disable IOMMU for the graphics controller. I've also cut and pasted your device info below just to help with debugging:

00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])
 Subsystem: Lenovo Device [17aa:215a]
 Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
 Status: Cap+ 66MHz- UDF- FastB2B+ ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
 Latency: 0
 Interrupt: pin A routed to IRQ 45
 Region 0: Memory at f2000000 (64-bit, non-prefetchable) [size=4M]
 Region 2: Memory at d0000000 (64-bit, prefetchable) [size=256M]
 Region 4: I/O ports at 1800 [size=8]
 Expansion ROM at <unassigned> [disabled]
 Capabilities: <access denied>
 Kernel driver in use: i915
 Kernel modules: i915

Changed in linux (Ubuntu):
importance: Medium → Undecided
status: Confirmed → Incomplete
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

@Joseph: I tried 3.2.0-4.10 but still had the errors:
Ubuntu 3.2.0-4.10-generic 3.2.0-rc5
[ 88.263384] DRHD: handling fault status reg 2
[ 88.263396] DMAR:[DMA Write] Request device [00:02.0] fault addr 7ff1c7000
[ 88.263399] DMAR:[fault reason 05] PTE Write access is not set

@Leann: I tried intel_iommu=igfx_off on both the rc5 and the current rc7 kernel and did not have the errors:
Ubuntu 3.2.0-4.10-generic 3.2.0-rc5
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-generic root=UUID=88689ad2-74b5-442c-9290-8ae60b63e16b ro quiet splash intel_iommu=igfx_off vt.handoff=7
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-4-generic root=UUID=88689ad2-74b5-442c-9290-8ae60b63e16b ro quiet splash intel_iommu=igfx_off vt.handoff=7

Ubuntu 3.2.0-7.13-generic 3.2.0-rc7
[ 0.000000] Command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-7-generic root=UUID=88689ad2-74b5-442c-9290-8ae60b63e16b ro quiet splash intel_iommu=igfx_off vt.handoff=7
[ 0.000000] Kernel command line: BOOT_IMAGE=/boot/vmlinuz-3.2.0-7-generic root=UUID=88689ad2-74b5-442c-9290-8ae60b63e16b ro quiet splash intel_iommu=igfx_off vt.handoff=7

I will now use 'intel_iommu=igfx_off' as the workaround.

Changed in linux (Ubuntu):
status: Incomplete → Confirmed
Changed in linux (Ubuntu):
importance: Undecided → Medium
tags: added: kernel-key
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

I might point out the while the system works great with the workaround, it is basically unusable without it, so anyone suffering from this bug will have a hard time with 12.04 until it is fixed/worked around in our kernel.

Revision history for this message
In , Leann Ogasawara (leannogasawara) wrote :

Hi,

I'm forwarding this bug on behalf of an Ubuntu bug reporter Jamie Strandboge:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/911236

On a Lenovo X201s running an Ubuntu 3.2.0-7.13-generic kernel which was rebased on upstream v3.2-rc7 Jamie's witnessing repeated fault messages in dmesg and experiencing system 'pauses' every few seconds. The repeated dmesg output is as follows:

[ 56.996322] DRHD: handling fault status reg 2
[ 56.996330] DMAR:[DMA Write] Request device [00:02.0] fault addr 7bf1c7000
[ 56.996332] DMAR:[fault reason 05] PTE Write access is not set

00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02) (prog-if 00 [VGA controller])

Jamie can confirm that booting with 'intel_iommu=igfx_off' resolves the issue and he no longer sees the repeated messages nor experiences the system pausing.

His full lspci output can be seen at:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/911236/+attachment/2655442/+files/Lspci.txt

And dmesg output at:

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/911236/+attachment/2655434/+files/BootDmesg.txt

https://bugs.launchpad.net/ubuntu/+source/linux/+bug/911236/+attachment/2655439/+files/CurrentDmesg.txt

Please let us know if you need any additional information. Thanks in advance.

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Jamie,

I've opened a bug on your behalf at freedesktop.org as well. Could you please subscribe to that bug as well. Thanks.

https://bugs.freedesktop.org/show_bug.cgi?id=44510

Changed in linux (Ubuntu):
status: Confirmed → Triaged
Revision history for this message
In , Roland Dreier (roland.dreier) wrote :
Download full text (3.7 KiB)

I have the same issue with a Lenovo T410s (updated to latest BIOS); I see I have the 8086:0044 device that triggers quirk_calpella_no_shadow_gtt() in intel-iommu.c, but the PCI header is such that I hit the second clause in:

static void __devinit quirk_calpella_no_shadow_gtt(struct pci_dev *dev)
{
        unsigned short ggc;

        if (pci_read_config_word(dev, GGC, &ggc))
                return;

        if (!(ggc & GGC_MEMORY_VT_ENABLED)) {
                printk(KERN_INFO "DMAR: BIOS has allocated no shadow GTT; disabling IOMMU for graphics\n");
                dmar_map_gfx = 0;
        } else if (dmar_map_gfx) {
                /* we have to ensure the gfx device is idle before we flush */
                printk(KERN_INFO "DMAR: Disabling batched IOTLB flush on Ironlake\n");
                intel_iommu_strict = 1;
       }
}

so I see:

[ 0.802361] DMAR: Disabling batched IOTLB flush on Ironlake

in my kernel log, but then I get a stream of

[ 98.467011] DRHD: handling fault status reg 2
[ 98.467014] DMAR:[DMA Write] Request device [00:02.0] fault addr 400020000
[ 98.467038] DMAR:[fault reason 05] PTE Write access is not set

"intel_iommu=igfx_off" resolves this for me as well.

Full lspci:

00:00.0 Host bridge [0600]: Intel Corporation Core Processor DRAM Controller [8086:0044] (rev 02)
00:02.0 VGA compatible controller [0300]: Intel Corporation Core Processor Integrated Graphics Controller [8086:0046] (rev 02)
00:16.0 Communication controller [0780]: Intel Corporation 5 Series/3400 Series Chipset HECI Controller [8086:3b64] (rev 06)
00:16.3 Serial controller [0700]: Intel Corporation 5 Series/3400 Series Chipset KT Controller [8086:3b67] (rev 06)
00:19.0 Ethernet controller [0200]: Intel Corporation 82577LM Gigabit Network Connection [8086:10ea] (rev 06)
00:1a.0 USB controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b3c] (rev 06)
00:1b.0 Audio device [0403]: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio [8086:3b57] (rev 06)
00:1c.0 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 1 [8086:3b42] (rev 06)
00:1c.1 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 2 [8086:3b44] (rev 06)
00:1c.3 PCI bridge [0604]: Intel Corporation 5 Series/3400 Series Chipset PCI Express Root Port 4 [8086:3b48] (rev 06)
00:1d.0 USB controller [0c03]: Intel Corporation 5 Series/3400 Series Chipset USB2 Enhanced Host Controller [8086:3b34] (rev 06)
00:1e.0 PCI bridge [0604]: Intel Corporation 82801 Mobile PCI Bridge [8086:2448] (rev a6)
00:1f.0 ISA bridge [0601]: Intel Corporation 5 Series/3400 Series Chipset LPC Interface Controller [8086:3b0f] (rev 06)
00:1f.2 SATA controller [0106]: Intel Corporation 5 Series/3400 Series Chipset 6 port SATA AHCI Controller [8086:3b2f] (rev 06)
00:1f.3 SMBus [0c05]: Intel Corporation 5 Series/3400 Series Chipset SMBus Controller [8086:3b30] (rev 06)
00:1f.6 Signal processing controller [1180]: Intel Corporation 5 Series/3400 Series Chipset Thermal Subsystem [8086:3b32] (rev 06)
03:00.0 Network controller [0280]: Intel Corporation Centrino Wireless-N 1000 [8086:00...

Read more...

Changed in linux:
importance: Unknown → Medium
status: Unknown → Confirmed
tags: added: rls-p-tracking
Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Hi Jamie,

I've built a test kernel which disables CONFIG_INTEL_IOMMU_DEFAULT_ON. Could you please test and and let me know if this resolves the system hangs/pauses and multiple fault messages you're seeing? Thanks in advance.

http://people.canonical.com/~ogasawara/lp911236/amd64/

Changed in linux (Ubuntu):
assignee: nobody → Leann Ogasawara (leannogasawara)
status: Triaged → In Progress
Revision history for this message
Jamie Strandboge (jdstrand) wrote :

Leann,

I tried the new 3.2.0-9.16 and it still had the problem. I then installed your 3.2.0-9.17~lp911236v1 and it works great. Thanks!

Revision history for this message
Leann Ogasawara (leannogasawara) wrote :

Thanks for testing Jamie, much appreciated. I've gone ahead and applied this patch to the repo. I plan to upload shortly. Thanks.

Changed in linux (Ubuntu):
status: In Progress → Fix Committed
Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package linux - 3.2.0-10.17

---------------
linux (3.2.0-10.17) precise; urgency=low

  [ Andy Whitcroft ]

  * Revert "SAUCE: overlayfs -- fs: limit filesystem stacking depth"
  * Revert "SAUCE: overlayfs -- overlay: overlay filesystem documentation"
  * Revert "SAUCE: overlayfs -- overlayfs: implement show_options"
  * Revert "SAUCE: overlayfs -- overlayfs: add statfs support"
  * Revert "SAUCE: overlayfs -- overlay filesystem"
  * Revert "SAUCE: overlayfs -- vfs: introduce clone_private_mount()"
  * Revert "SAUCE: overlayfs -- vfs: export do_splice_direct() to modules"
  * Revert "SAUCE: overlayfs -- vfs: add i_op->open()"
  * ensure debian/ is not excluded from git by default
  * add new scripting to handle buglinks in rebases
  * ubuntu: overlayfs -- overlayfs: add statfs support
  * ubuntu: overlayfs -- overlayfs: apply device cgroup and security
    permissions to overlay files
    - LP: #915941, #918212
    - CVE-2012-0055

  [ Erez Zadok ]

  * ubuntu: overlayfs -- overlayfs: implement show_options

  [ Leann Ogasawara ]

  * Revert "SAUCE: dmar: disable if ricoh multifunction detected"
  * [Config] Disable CONFIG_INTEL_IOMMU_DEFAULT_ON
    - LP: #907377, #911236
  * [Config] Enable CONFIG_IRQ_REMAP

  [ Miklos Szeredi ]

  * ubuntu: overlayfs -- vfs: pass struct path to __dentry_open()
  * ubuntu: overlayfs -- vfs: add i_op->open()
  * ubuntu: overlayfs -- vfs: export do_splice_direct() to modules
  * ubuntu: overlayfs -- vfs: introduce clone_private_mount()
  * ubuntu: overlayfs -- overlay filesystem
  * ubuntu: overlayfs -- fs: limit filesystem stacking depth

  [ Neil Brown ]

  * ubuntu: overlayfs -- overlay: overlay filesystem documentation

  [ Upstream Kernel Changes ]

  * (pre-stable) x86/PCI: amd: factor out MMCONFIG discovery
    - LP: #647043
  * (pre-stable) PNP: work around Dell 1536/1546 BIOS MMCONFIG bug that
    breaks USB
    - LP: #647043
 -- Leann Ogasawara <email address hidden> Mon, 16 Jan 2012 07:10:08 -0800

Changed in linux (Ubuntu):
status: Fix Committed → Fix Released
Changed in linux:
importance: Medium → Critical
Revision history for this message
In , Chris Wilson (ickle) wrote :

In linus/master:

commit 5c0422878fcdc279ae9a8e8b66972a15b5efb67f
Author: Ben Widawsky <email address hidden>
Date: Mon Oct 17 15:51:55 2011 -0700

    drm/i915: ILK + VT-d workaround

    Idle the GPU before doing any unmaps. We know if VT-d is in use through
    an exported variable from iommu code.

    This should avoid a known HW issue.

    Signed-off-by: Ben Widawsky <email address hidden>
    Reviewed-by: Daniel Vetter <email address hidden>
    Signed-off-by: Keith Packard <email address hidden>

This does introduce a synchronous flush of the iommu tlb everytime a buffer is released which can cause stalls of ~1s every few seconds... But it does prevent the eventual machine hang. However, I would advise you to continue to use intel_iommu=igfx_off unless you truly do require virtualised graphics.

Changed in linux:
status: Confirmed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Duplicates of this bug

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.