Merge branch 'core-objtool-for-linus' of git://git.kernel.org/pub/scm/linux/kernel...
[linux-2.6-block.git] / mm / kmemcheck.c
index cab58bb592d8fa881dccfcddf0dcc7612f05128b..5bf191756a4a07b04ffe1dd792f475e1e0af0492 100644 (file)
@@ -20,8 +20,7 @@ void kmemcheck_alloc_shadow(struct page *page, int order, gfp_t flags, int node)
        shadow = alloc_pages_node(node, flags | __GFP_NOTRACK, order);
        if (!shadow) {
                if (printk_ratelimit())
-                       printk(KERN_ERR "kmemcheck: failed to allocate "
-                               "shadow bitmap\n");
+                       pr_err("kmemcheck: failed to allocate shadow bitmap\n");
                return;
        }
 
@@ -60,6 +59,9 @@ void kmemcheck_free_shadow(struct page *page, int order)
 void kmemcheck_slab_alloc(struct kmem_cache *s, gfp_t gfpflags, void *object,
                          size_t size)
 {
+       if (unlikely(!object)) /* Skip object if allocation failed */
+               return;
+
        /*
         * Has already been memset(), which initializes the shadow for us
         * as well.