]> Pileus Git - ~andy/linux/blobdiff - mm/page_cgroup.c
cgroup/kmemleak: Annotate alloc_page() for cgroup allocations
[~andy/linux] / mm / page_cgroup.c
index 6bdc67dbbc28920c36d0511057071d7229f58e39..3749ae15a8c8acb1dfc7a06c08eec3da35d643f1 100644 (file)
@@ -133,10 +133,13 @@ struct page *lookup_cgroup_page(struct page_cgroup *pc)
 static void *__meminit alloc_page_cgroup(size_t size, int nid)
 {
        void *addr = NULL;
+       gfp_t flags = GFP_KERNEL | __GFP_NOWARN;
 
-       addr = alloc_pages_exact_nid(nid, size, GFP_KERNEL | __GFP_NOWARN);
-       if (addr)
+       addr = alloc_pages_exact_nid(nid, size, flags);
+       if (addr) {
+               kmemleak_alloc(addr, size, 1, flags);
                return addr;
+       }
 
        if (node_state(nid, N_HIGH_MEMORY))
                addr = vmalloc_node(size, nid);