Re: [PATCH]: iommu fix potential overflow in alloc_iommu()

From: Prarit Bhargava
Date: Mon Jul 21 2008 - 11:22:24 EST




FUJITA Tomonori wrote:
On Mon, 21 Jul 2008 10:15:22 -0400
Prarit Bhargava <prarit@xxxxxxxxxx> wrote:

(This didn't appear on LKML or any of the mirrors ... trying again)

It is possible that alloc_iommu()'s boundary_size overflows as
dma_get_seg_boundary can return 0xffffffff. In that case, further usage of
boundary_size triggers a BUG_ON() in the iommu code.

Did you actually hit this? pci-gart_64.c is used only by X86_64.

I hit this by declaring a device struct and not declaring a value for dev->dma_parms->segment_boundary_mask.

I was attempting to alloc out of the IOMMU and the code then dies on the bugcheck in iommu_is_span_boundary() because boundary_size = 0.

P.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/