diff --git a/[refs] b/[refs] index 8d1b76ba7087..a8a990f72b2f 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: f3d8b53a3abbfd0b74fa5dfaa690870d9619fad9 +refs/heads/master: ddbf2e8366f2a7fa3419be418cfd83a914d2527f diff --git a/trunk/mm/slab.c b/trunk/mm/slab.c index 4e61449d7946..66e90477a4bb 100644 --- a/trunk/mm/slab.c +++ b/trunk/mm/slab.c @@ -3103,6 +3103,11 @@ static inline void *____cache_alloc(struct kmem_cache *cachep, gfp_t flags) } else { STATS_INC_ALLOCMISS(cachep); objp = cache_alloc_refill(cachep, flags); + /* + * the 'ac' may be updated by cache_alloc_refill(), + * and kmemleak_erase() requires its correct value. + */ + ac = cpu_cache_get(cachep); } /* * To avoid a false negative, if an object that is in one of the