aboutsummaryrefslogtreecommitdiffstats
path: root/mm/slub.c
diff options
context:
space:
mode:
Diffstat (limited to 'mm/slub.c')
-rw-r--r--mm/slub.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/mm/slub.c b/mm/slub.c
index bd86182e595e..347e44821bcb 100644
--- a/mm/slub.c
+++ b/mm/slub.c
@@ -802,14 +802,8 @@ static void setup_object(struct kmem_cache *s, struct page *page,
802 init_tracking(s, object); 802 init_tracking(s, object);
803 } 803 }
804 804
805 if (unlikely(s->ctor)) { 805 if (unlikely(s->ctor))
806 int mode = SLAB_CTOR_CONSTRUCTOR; 806 s->ctor(object, s, SLAB_CTOR_CONSTRUCTOR);
807
808 if (!(s->flags & __GFP_WAIT))
809 mode |= SLAB_CTOR_ATOMIC;
810
811 s->ctor(object, s, mode);
812 }
813} 807}
814 808
815static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node) 809static struct page *new_slab(struct kmem_cache *s, gfp_t flags, int node)