In ll_file_data_get() and ll_dir_ioctl() return error on failed
allocations.
Signed-off-by: John L. Hammond <john.hammond@intel.com>
Change-Id: I122db2cede770261d75af209e92aa60d86ea85f2
Reviewed-on: http://review.whamcloud.com/5845
Tested-by: Hudson
Tested-by: Maloo <whamcloud.maloo@gmail.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>
if (rc)
RETURN(rc);
- OBD_ALLOC_LARGE(lmm, lmmsize);
- if (cfs_copy_from_user(lmm, lum, lmmsize))
- GOTO(free_lmm, rc = -EFAULT);
+ OBD_ALLOC_LARGE(lmm, lmmsize);
+ if (lmm == NULL)
+ RETURN(-ENOMEM);
+
+ if (cfs_copy_from_user(lmm, lum, lmmsize))
+ GOTO(free_lmm, rc = -EFAULT);
switch (lmm->lmm_magic) {
case LOV_USER_MAGIC_V1:
struct ll_file_data *fd;
OBD_SLAB_ALLOC_PTR_GFP(fd, ll_file_data_slab, CFS_ALLOC_IO);
+ if (fd == NULL)
+ return NULL;
+
fd->fd_write_failed = false;
+
return fd;
}