diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-06 14:05:09 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-06 14:05:09 -0700 |
commit | 9861df15f44d98eb6fa9a839b558633ecee87194 (patch) | |
tree | 587d1902c33c47fc0bc84f849b9431fd27967668 /mm/slub.c | |
parent | 8871b201da6e443b7ab2967050e3064360d0604f (diff) | |
parent | 67fc25ef34a27dc43ce6dfc98a8b249db304d641 (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.c | 2 |
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) */ void kmem_cache_destroy(struct kmem_cache *s) { + if (s->flags & SLAB_DESTROY_BY_RCU) + rcu_barrier(); down_write(&slub_lock); s->refcount--; if (!s->refcount) { |