]> Pileus Git - ~andy/linux/blobdiff - mm/slob.c
Merge branch 'x86-atomic-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[~andy/linux] / mm / slob.c
index 46e0aee33a235068bcaf6144dc299ed0ff248991..0ae881831ae27deb86aaf8332dcfa94c28ca01ea 100644 (file)
--- a/mm/slob.c
+++ b/mm/slob.c
@@ -482,6 +482,8 @@ void *__kmalloc_node(size_t size, gfp_t gfp, int node)
        int align = max(ARCH_KMALLOC_MINALIGN, ARCH_SLAB_MINALIGN);
        void *ret;
 
+       gfp &= gfp_allowed_mask;
+
        lockdep_trace_alloc(gfp);
 
        if (size < PAGE_SIZE - align) {
@@ -608,6 +610,10 @@ void *kmem_cache_alloc_node(struct kmem_cache *c, gfp_t flags, int node)
 {
        void *b;
 
+       flags &= gfp_allowed_mask;
+
+       lockdep_trace_alloc(flags);
+
        if (c->size < PAGE_SIZE) {
                b = slob_alloc(c->size, flags, c->align, node);
                trace_kmem_cache_alloc_node(_RET_IP_, b, c->size,