staging/lustre/llite: check alloc in ll_file_data_get, ll_dir_ioctl
authorJohn L. Hammond <john.hammond@intel.com>
Mon, 22 Jul 2013 16:06:27 +0000 (00:06 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 23 Jul 2013 19:39:21 +0000 (12:39 -0700)
In ll_file_data_get() and ll_dir_ioctl() return error on failed
allocations.

Intel-bug-id: https://jira.hpdd.intel.com/browse/LU-2753
Lustre-change: http://review.whamcloud.com/5845
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Reviewed-by: Andreas Dilger <andreas.dilger@intel.com>
Reviewed-by: Dmitry Eremin <dmitry.eremin@intel.com>
Reviewed-by: Sebastien Buisson <sebastien.buisson@bull.net>
Signed-off-by: Peng Tao <tao.peng@emc.com>
Signed-off-by: Andreas Dilger <andreas.dilger@intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/staging/lustre/lustre/llite/dir.c
drivers/staging/lustre/lustre/llite/file.c

index 1084999..bfc914e 100644 (file)
@@ -1561,6 +1561,8 @@ out_rmdir:
                        RETURN(rc);
 
                OBD_ALLOC_LARGE(lmm, lmmsize);
+               if (lmm == NULL)
+                       RETURN(-ENOMEM);
                if (copy_from_user(lmm, lum, lmmsize))
                        GOTO(free_lmm, rc = -EFAULT);
 
index efe66d9..927b3a0 100644 (file)
@@ -55,6 +55,8 @@ struct ll_file_data *ll_file_data_get(void)
        struct ll_file_data *fd;
 
        OBD_SLAB_ALLOC_PTR_GFP(fd, ll_file_data_slab, __GFP_IO);
+       if (fd == NULL)
+               return NULL;
        fd->fd_write_failed = false;
        return fd;
 }