aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
authorLinus Torvalds <torvalds@linux-foundation.org>2009-07-06 17:05:09 -0400
committerLinus Torvalds <torvalds@linux-foundation.org>2009-07-06 17:05:09 -0400
commit9861df15f44d98eb6fa9a839b558633ecee87194 (patch)
tree587d1902c33c47fc0bc84f849b9431fd27967668 /mm/slub.c
parent8871b201da6e443b7ab2967050e3064360d0604f (diff)
parent67fc25ef34a27dc43ce6dfc98a8b249db304d641 (diff)
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6: SLAB: Fix lockdep annotations fix RCU-callback-after-kmem_cache_destroy problem in sl[aou]b
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/mm/slub.c b/mm/slub.c
index 819f056b39c..a9201d83178 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -2595,6 +2595,8 @@ static inline int kmem_cache_close(struct kmem_cache *s)
2595 */ 2595 */
2596void kmem_cache_destroy(struct kmem_cache *s) 2596void kmem_cache_destroy(struct kmem_cache *s)
2597{ 2597{
2598 if (s->flags & SLAB_DESTROY_BY_RCU)
2599 rcu_barrier();
2598 down_write(&slub_lock); 2600 down_write(&slub_lock);
2599 s->refcount--; 2601 s->refcount--;
2600 if (!s->refcount) { 2602 if (!s->refcount) {