[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>
This commit is contained in:
shin, jacob 2006-04-28 10:54:37 -05:00 committed by Linus Torvalds
parent 4de0b1ee1b
commit 693f7d3620

View File

@ -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;