diff --git a/mm/slab.c b/mm/slab.c index 7dfa481c96bade62ae4ba34299dcd4fb8d79cdb3..4e61449d7946658b3283ce01ca97cb05fdd8314b 100644 --- a/mm/slab.c +++ b/mm/slab.c @@ -3109,7 +3109,8 @@ static inline void *____cache_alloc(struct kmem_cache *cachep, gfp_t flags) * per-CPU caches is leaked, we need to make sure kmemleak doesn't * treat the array pointers as a reference to the object. */ - kmemleak_erase(&ac->entry[ac->avail]); + if (objp) + kmemleak_erase(&ac->entry[ac->avail]); return objp; }