mm/vmalloc.c: check kmalloc() return value
[sfrench/cifs-2.6.git] / mm / vmalloc.c
index b7e314b1009f62e8c723064fc28b4e7a1528e275..918c51335d64165348dc3b54775019f7a78bcaa7 100644 (file)
@@ -732,7 +732,7 @@ static struct vmap_block *new_vmap_block(gfp_t gfp_mask)
                                        node, gfp_mask);
        if (unlikely(IS_ERR(va))) {
                kfree(vb);
-               return ERR_PTR(PTR_ERR(va));
+               return ERR_CAST(va);
        }
 
        err = radix_tree_preload(gfp_mask);
@@ -2437,8 +2437,11 @@ static int vmalloc_open(struct inode *inode, struct file *file)
        unsigned int *ptr = NULL;
        int ret;
 
-       if (NUMA_BUILD)
+       if (NUMA_BUILD) {
                ptr = kmalloc(nr_node_ids * sizeof(unsigned int), GFP_KERNEL);
+               if (ptr == NULL)
+                       return -ENOMEM;
+       }
        ret = seq_open(file, &vmalloc_op);
        if (!ret) {
                struct seq_file *m = file->private_data;