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

From: Prarit Bhargava
Date: Mon Jul 21 2008 - 11:48:23 EST




FUJITA Tomonori wrote:
On Mon, 21 Jul 2008 11:21:39 -0400
Prarit Bhargava <prarit@xxxxxxxxxx> wrote:

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.

What do you mean? You set dev->dma_params but does't set
dev->dma_parms->segment_boundary_mask? If so, you need to fix your
code. If you set dev->dma_parms, dma_parms needs to be initialized
properly.

No, I didn't set dev->dma_params.

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/