Red Hat Bugzilla – Bug 189963
[PATCH] x86_64: race in the free_iommu fast path leaks entries.
Last modified: 2007-11-30 17:07:24 EST
Description of problem:
After a period of heavy I/O using a 32-bit bus mastering PCI network card on a
machine with 6G of RAM, the IOMMU runs out of space which can then cause 32-bit
PCI devices to fail. This is caused by a race condition in free_iommu causing
bits to be set in the allocation bitmap which should not be. After this has
happened many times, the IOMMU becomes full and devices trying to use it stop
Version-Release number of selected component (if applicable):
All 2.6 kernels before 2.6.17-rc2.
Steps to Reproduce:
1.Use a x86_64 SMP machine with 6G or more of RAM and an IOMMU.
2.Use a 32-bit bus mastering device.
3.Perform lots of concurrent I/O with the device until the IOMMU fills up.
The message "PCI-DMA: Out of IOMMU space for 53248 bytes at device
The patch on the mailing list fixes this problem.
As a PCI card manufacturer, we have customers waiting for this patch so your
assistance would be appreciated.
I should have said that we'd like this fixed for both RHEL and Fedora. Many
thanks for your help
ok, can you please point us at the patch? thanks.
Sorry. A slight brain failure. I put it in the URL box. Here it is again.
*** Bug 191552 has been marked as a duplicate of this bug. ***
Patch posted to rhkernel-list
committed in stream U5 build 42.3. A test kernel with this patch is available
This request was evaluated by Red Hat Product Management for inclusion in a Red
Hat Enterprise Linux maintenance release. Product Management has requested
further review of this request by Red Hat Engineering, for potential
inclusion in a Red Hat Enterprise Linux Update release for currently deployed
products. This request is not yet committed for inclusion in an Update
QE ack for RHEL4.5.
User firstname.lastname@example.org's account has been closed
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.