[<prev] [next>] [day] [month] [year] [list]
Message-Id: <20090601175534.7e6e4c12.sfr@canb.auug.org.au>
Date: Mon, 1 Jun 2009 17:55:34 +1000
From: Stephen Rothwell <sfr@...b.auug.org.au>
To: Vegard Nossum <vegard.nossum@...il.com>,
Pekka Enberg <penberg@...helsinki.fi>,
Ingo Molnar <mingo@...e.hu>
Cc: linux-next@...r.kernel.org, linux-kernel@...r.kernel.org,
Catalin Marinas <catalin.marinas@....com>
Subject: linux-next: manual merge of the kmemcheck tree with the kmemleak
tree
Hi all,
Today's linux-next merge of the kmemcheck tree got a conflict in
mm/slub.c between commit 5247520db9023300947e5b77943bc0719f33d4b9
("kmemleak: Add the slub memory allocation/freeing hooks") from the
kmemleak tree and commit 18fd427debcf37c06917b55295df682fd05fee76 ("slub:
add hooks for kmemcheck") from the kmemcheck tree.
I fixed it up (see below) and can carry the fix as necessary.
--
Cheers,
Stephen Rothwell sfr@...b.auug.org.au
diff --cc mm/slub.c
index 6674a79,4ac5e3e..0000000
--- a/mm/slub.c
+++ b/mm/slub.c
@@@ -144,10 -143,10 +145,10 @@@
* Set of flags that will prevent slab merging
*/
#define SLUB_NEVER_MERGE (SLAB_RED_ZONE | SLAB_POISON | SLAB_STORE_USER | \
- SLAB_TRACE | SLAB_DESTROY_BY_RCU)
+ SLAB_TRACE | SLAB_DESTROY_BY_RCU | SLAB_NOLEAKTRACE)
#define SLUB_MERGE_SAME (SLAB_DEBUG_FREE | SLAB_RECLAIM_ACCOUNT | \
- SLAB_CACHE_DMA)
+ SLAB_CACHE_DMA | SLAB_NOTRACK)
#ifndef ARCH_KMALLOC_MINALIGN
#define ARCH_KMALLOC_MINALIGN __alignof__(unsigned long long)
@@@ -1618,7 -1637,7 +1641,8 @@@ static __always_inline void *slab_alloc
if (unlikely((gfpflags & __GFP_ZERO) && object))
memset(object, 0, objsize);
+ kmemleak_alloc_recursive(object, objsize, 1, s->flags, gfpflags);
+ kmemcheck_slab_alloc(s, gfpflags, object, c->objsize);
return object;
}
@@@ -1748,9 -1767,9 +1772,10 @@@ static __always_inline void slab_free(s
struct kmem_cache_cpu *c;
unsigned long flags;
+ kmemleak_free_recursive(x, s->flags);
local_irq_save(flags);
c = get_cpu_slab(s, smp_processor_id());
+ kmemcheck_slab_free(s, object, c->objsize);
debug_check_no_locks_freed(object, c->objsize);
if (!(s->flags & SLAB_DEBUG_OBJECTS))
debug_check_no_obj_freed(object, c->objsize);
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists