[PATCH] ppc/iommu: prevent false TCE leak message
Gavin Shan
shangw at linux.vnet.ibm.com
Fri Dec 28 16:21:35 EST 2012
On Thu, Dec 27, 2012 at 02:28:06PM -0200, Thadeu Lima de Souza Cascardo wrote:
>When a device DMA window includes the address 0, it's reserved in the
>TCE bitmap to avoid returning that address to drivers.
>
>When the device is removed, the bitmap is checked for any mappings not
>removed by the driver, indicating a possible DMA mapping leak. Since the
>reserved address is not cleared, a message is printed, warning of such a
>leak.
>
>Check for the reservation, and clear it before checking for any other
>standing mappings.
>
>Signed-off-by: Thadeu Lima de Souza Cascardo <cascardo at linux.vnet.ibm.com>
>---
> arch/powerpc/kernel/iommu.c | 5 +++++
> 1 files changed, 5 insertions(+), 0 deletions(-)
>
>diff --git a/arch/powerpc/kernel/iommu.c b/arch/powerpc/kernel/iommu.c
>index 8226c6c..226e9e5 100644
>--- a/arch/powerpc/kernel/iommu.c
>+++ b/arch/powerpc/kernel/iommu.c
>@@ -717,6 +717,11 @@ void iommu_free_table(struct iommu_table *tbl, const char *node_name)
> return;
> }
>
>+ /* In case we have reserved the first bit, we should not emit
>+ * the warning below. */
At least, the comment would look like:
/*
* xxxxxxx
*/
>+ if (tbl->it_offset == 0)
>+ clear_bit(0, tbl->it_map);
>+
> /* verify that table contains no entries */
> /* it_size is in entries, and we're examining 64 at a time */
The comment would be merged as well? :-)
> for (i = 0; i < (tbl->it_size/64); i++) {
Thanks,
Gavin
More information about the Linuxppc-dev
mailing list