On 12/02/2015 11:52 AM, Catalin Marinas wrote: [snip] >> >> Is there any more concern? actually we just want to get rid of this >> annoying report on obj won't leak, if you're going to create obj for >> 'irq_lookup_table' that's also fine for us, or will you pick this patch? > > My preference (from a kmemleak perspective) is to tell kmemleak about > the irq_lookup_table. Untested:
I'm fine with both solution, will leave the decision to maintainer :-) BTW, could you please send a formal patch with descriptions? Regards, Michael Wang > > diff --git a/drivers/iommu/amd_iommu_init.c b/drivers/iommu/amd_iommu_init.c > index 013bdfff2d4d..c41609f71cbe 100644 > --- a/drivers/iommu/amd_iommu_init.c > +++ b/drivers/iommu/amd_iommu_init.c > @@ -27,6 +27,7 @@ > #include <linux/amd-iommu.h> > #include <linux/export.h> > #include <linux/iommu.h> > +#include <linux/kmemleak.h> > #include <asm/pci-direct.h> > #include <asm/iommu.h> > #include <asm/gart.h> > @@ -1692,6 +1693,7 @@ static struct syscore_ops amd_iommu_syscore_ops = { > > static void __init free_on_init_error(void) > { > + kmemleak_free(irq_lookup_table); > free_pages((unsigned long)irq_lookup_table, > get_order(rlookup_table_size)); > > @@ -1906,6 +1908,7 @@ static int __init early_amd_iommu_init(void) > irq_lookup_table = (void *)__get_free_pages( > GFP_KERNEL | __GFP_ZERO, > get_order(rlookup_table_size)); > + kmemleak_alloc(irq_lookup_table, rlookup_table_size, 1, GFP_KERNEL); > if (!irq_lookup_table) > goto out; > } > -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/