Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fdb36038 authored by Suresh Jayaraman's avatar Suresh Jayaraman Committed by Steve French
Browse files

cifs: propagate cifs_new_fileinfo() error back to the caller



..otherwise memory allocation errors go undetected.

Signed-off-by: default avatarSuresh Jayaraman <sjayaraman@suse.de>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent fae683f7
Loading
Loading
Loading
Loading
+13 −4
Original line number Diff line number Diff line
@@ -261,8 +261,14 @@ int cifs_posix_open(char *full_path, struct inode **pinode,
	 * cifs_fill_filedata() takes care of setting cifsFileInfo pointer to
	 * file->private_data.
	 */
	if (mnt)
		cifs_new_fileinfo(*pinode, *pnetfid, NULL, mnt, oflags);
	if (mnt) {
		struct cifsFileInfo *pfile_info;

		pfile_info = cifs_new_fileinfo(*pinode, *pnetfid, NULL, mnt,
					       oflags);
		if (pfile_info == NULL)
			rc = -ENOMEM;
	}

posix_open_ret:
	kfree(presp_data);
@@ -476,12 +482,15 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode,
		/* mknod case - do not leave file open */
		CIFSSMBClose(xid, tcon, fileHandle);
	} else if (!(posix_create) && (newinode)) {
		struct cifsFileInfo *pfile_info;
		/*
		 * cifs_fill_filedata() takes care of setting cifsFileInfo
		 * pointer to file->private_data.
		 */
		cifs_new_fileinfo(newinode, fileHandle, NULL, nd->path.mnt,
				  oflags);
		pfile_info = cifs_new_fileinfo(newinode, fileHandle, NULL,
					       nd->path.mnt, oflags);
		if (pfile_info == NULL)
			rc = -ENOMEM;
	}
cifs_create_out:
	kfree(buf);