On Wed, Apr 02, 2008 at 02:01:13PM +0300, Pekka Enberg wrote:
Would the following be an appropriate fix? It seems to me to be in
the same spirit as the existing check for s->ctor.
Signed-off-by: Paul E. McKenney <paulmck@linux.vnet.ibm.com>
---
slub_kmemcheck.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/mm/slub_kmemcheck.c b/mm/slub_kmemcheck.c
index 8620a8b..e07f62a 100644
--- a/mm/slub_kmemcheck.c
+++ b/mm/slub_kmemcheck.c
@@ -93,6 +93,6 @@ kmemcheck_slab_alloc(struct kmem_cache *s, gfp_t gfpflags, void *object)
void
kmemcheck_slab_free(struct kmem_cache *s, void *object)
{
- if (!s->ctor)
+ if (!s->ctor && !(s->flags & SLAB_DESTROY_BY_RCU))
kmemcheck_mark_freed(object, s->objsize);
}
--