Calgary and bad_dma_address

From: Pete Zaitcev
Date: Tue Sep 09 2008 - 23:24:18 EST


Hi, guys:

I was reading arch/x86/kernel/pci-calgary_64.c today, and noticed that
apparently nothing prevents iommu_area_alloc from returning a zero.
But bad_dma_address is zero too. Doesn't it concern anyone?
If the first allocation asks for a page-aligned buffer to be mapped,
a spurious bad address will result, if I understand this right.

The simplest way to avoid the problem is to lose a page and set a bit
in tce_table_setparms():
set_bit(tbl->it_map, bad_dma_address);
But I don't see anything like that done anywhere.

-- Pete
--
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/