Просмотр исходного кода

[PATCH] slab: fix crash on __drain_alien_cahce() during CPU Hotplug

transfer_objects should only be called when all of the cpus in the
node are online.  CPU_DEAD notifier callback marks l3->shared to NULL.

Signed-off-by: Jacob Shin <jacob.shin@amd.com>
Signed-off-by: Linus Torvalds <torvalds@osdl.org>
shin, jacob 19 лет назад
Родитель
Сommit
693f7d3620
1 измененных файлов с 2 добавлено и 1 удалено
  1. 2 1
      mm/slab.c

+ 2 - 1
mm/slab.c

@@ -979,7 +979,8 @@ static void __drain_alien_cache(struct kmem_cache *cachep,
 		 * That way we could avoid the overhead of putting the objects
 		 * into the free lists and getting them back later.
 		 */
-		transfer_objects(rl3->shared, ac, ac->limit);
+		if (rl3->shared)
+			transfer_objects(rl3->shared, ac, ac->limit);
 
 		free_block(cachep, ac->entry, ac->avail, node);
 		ac->avail = 0;