Re: [PATCH] cifs: propagate cifs_new_fileinfo() error back to the caller
Shirish Pargaonkar <[email protected]> Tue, 11 May 2010 10:44:28 -0500
| Newsgroups | gmane.linux.file-systems.cifs |
|---|---|
| Message-ID | <[email protected]> |
On Mon, May 10, 2010 at 11:16 PM, Suresh Jayaraman <[email protected]> wrote: > ..otherwise memory allocation errors go undetected. > > Signed-off-by: Suresh Jayaraman <[email protected]> > --- > fs/cifs/dir.c | 17 +++++++++++++---- > 1 files changed, 13 insertions(+), 4 deletions(-) > > diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c > index bd363df..86d3c0c 100644 > --- a/fs/cifs/dir.c > +++ b/fs/cifs/dir.c > @@ -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_set_dentry: > /* 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); > -- > 1.6.4.2 > > _______________________________________________ > linux-cifs-client mailing list > [email protected] > https://lists.samba.org/mailman/listinfo/linux-cifs-client > Reviewed-by: Shirish S. Pargaonkar <[email protected]>