pwm: omap-dmtimer: Potential NULL dereference on error
[deliverable/linux.git] / mm / slab.c
index a9ef77d19a9ada7f06b5ffbaec4f45aa5d897de0..e0819fa96559f3d166a35001dbefd4982ffd2a08 100644 (file)
--- a/mm/slab.c
+++ b/mm/slab.c
@@ -1889,21 +1889,10 @@ static void slab_destroy(struct kmem_cache *cachep, struct page *page)
 
        freelist = page->freelist;
        slab_destroy_debugcheck(cachep, page);
-       if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU)) {
-               struct rcu_head *head;
-
-               /*
-                * RCU free overloads the RCU head over the LRU.
-                * slab_page has been overloeaded over the LRU,
-                * however it is not used from now on so that
-                * we can use it safely.
-                */
-               head = (void *)&page->rcu_head;
-               call_rcu(head, kmem_rcu_free);
-
-       } else {
+       if (unlikely(cachep->flags & SLAB_DESTROY_BY_RCU))
+               call_rcu(&page->rcu_head, kmem_rcu_free);
+       else
                kmem_freepages(cachep, page);
-       }
 
        /*
         * From now on, we don't use freelist
This page took 0.024971 seconds and 5 git commands to generate.