]> git.karo-electronics.de Git - karo-tx-linux.git/commit
[PATCH] x86_64: Fix a race in the free_iommu path.
authorMike Waychison <mikew@google.com>
Fri, 21 Apr 2006 07:43:25 +0000 (09:43 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Mon, 1 May 2006 19:03:42 +0000 (12:03 -0700)
commitc89ce82c2d942daacc7d7f5d3efafe7dba70bd23
treea497456b81e016a4893a2d3927475eb282b75ef9
parent355bd3d4ea761a66880088ac2d0c5c95866df4a6
[PATCH] x86_64: Fix a race in the free_iommu path.

We do this by removing a micro-optimization that tries to avoid grabbing
the iommu_bitmap_lock spinlock and using a bus-locked operation.

This still races with other simultaneous alloc_iommu or free_iommu(size
> 1) which both use bus-unlocked operations.

The end result of this race is eventually ending
up with an iommu_gart_bitmap that has bits errornously set all over,
making large contiguous iommu space allocations fail with 'PCI-DMA:
Out of IOMMU space'.

Signed-off-by: Mike Waychison <mikew@google.com>
Signed-off-by: Andi Kleen <ak@suse.de>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
arch/x86_64/kernel/pci-gart.c