From ef3575a9079cd31a0ac1ccf4b07a86c7eac20309 Mon Sep 17 00:00:00 2001 From: "David S. Miller" Date: Sat, 10 Apr 2010 20:24:22 -0700 Subject: [PATCH] --- yaml --- r: 189878 b: refs/heads/master c: 25ad403f67d7673f38a473ec138d240804785ae3 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/sparc/kernel/irq_64.c | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 78bebf065b2c..5c7643895ee9 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 8b8d8e2840a440d62e8dc0ef36ba433b26f70d32 +refs/heads/master: 25ad403f67d7673f38a473ec138d240804785ae3 diff --git a/trunk/arch/sparc/kernel/irq_64.c b/trunk/arch/sparc/kernel/irq_64.c index af5c76c04e99..454ce3a25273 100644 --- a/trunk/arch/sparc/kernel/irq_64.c +++ b/trunk/arch/sparc/kernel/irq_64.c @@ -648,6 +648,14 @@ unsigned int sun4v_build_virq(u32 devhandle, unsigned int devino) bucket = kzalloc(sizeof(struct ino_bucket), GFP_ATOMIC); if (unlikely(!bucket)) return 0; + + /* The only reference we store to the IRQ bucket is + * by physical address which kmemleak can't see, tell + * it that this object explicitly is not a leak and + * should be scanned. + */ + kmemleak_not_leak(bucket); + __flush_dcache_range((unsigned long) bucket, ((unsigned long) bucket + sizeof(struct ino_bucket)));