diff --git a/mm/slub.c b/mm/slub.c
index 3a76de69a2682d12284fea435161dfd832fd9494..2c56cc9e4ff2407bd94100c43c0b14c262dba54a 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -5691,7 +5691,8 @@ static void memcg_propagate_slab_attrs(struct kmem_cache *s)
 		 */
 		if (buffer)
 			buf = buffer;
-		else if (root_cache->max_attr_size < ARRAY_SIZE(mbuf))
+		else if (root_cache->max_attr_size < ARRAY_SIZE(mbuf) &&
+			 !IS_ENABLED(CONFIG_SLUB_STATS))
 			buf = mbuf;
 		else {
 			buffer = (char *) get_zeroed_page(GFP_KERNEL);