diff options
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/cifs/dir.c | 6 | ||||
| -rw-r--r-- | fs/cifs/file.c | 24 | ||||
| -rw-r--r-- | fs/cifs/inode.c | 15 | ||||
| -rw-r--r-- | fs/cifs/link.c | 3 | ||||
| -rw-r--r-- | fs/cifs/xattr.c | 12 |
5 files changed, 40 insertions, 20 deletions
diff --git a/fs/cifs/dir.c b/fs/cifs/dir.c index 3758965d73d5..7dc6b74f9def 100644 --- a/fs/cifs/dir.c +++ b/fs/cifs/dir.c | |||
| @@ -307,8 +307,9 @@ cifs_create(struct inode *inode, struct dentry *direntry, int mode, | |||
| 307 | 307 | ||
| 308 | full_path = build_path_from_dentry(direntry); | 308 | full_path = build_path_from_dentry(direntry); |
| 309 | if (full_path == NULL) { | 309 | if (full_path == NULL) { |
| 310 | rc = -ENOMEM; | ||
| 310 | FreeXid(xid); | 311 | FreeXid(xid); |
| 311 | return -ENOMEM; | 312 | return rc; |
| 312 | } | 313 | } |
| 313 | 314 | ||
| 314 | if (oplockEnabled) | 315 | if (oplockEnabled) |
| @@ -540,8 +541,9 @@ int cifs_mknod(struct inode *inode, struct dentry *direntry, int mode, | |||
| 540 | buf = kmalloc(sizeof(FILE_ALL_INFO), GFP_KERNEL); | 541 | buf = kmalloc(sizeof(FILE_ALL_INFO), GFP_KERNEL); |
| 541 | if (buf == NULL) { | 542 | if (buf == NULL) { |
| 542 | kfree(full_path); | 543 | kfree(full_path); |
| 544 | rc = -ENOMEM; | ||
| 543 | FreeXid(xid); | 545 | FreeXid(xid); |
| 544 | return -ENOMEM; | 546 | return rc; |
| 545 | } | 547 | } |
| 546 | 548 | ||
| 547 | rc = CIFSSMBOpen(xid, pTcon, full_path, | 549 | rc = CIFSSMBOpen(xid, pTcon, full_path, |
diff --git a/fs/cifs/file.c b/fs/cifs/file.c index 06866841b97f..ebdbe62a829c 100644 --- a/fs/cifs/file.c +++ b/fs/cifs/file.c | |||
| @@ -300,14 +300,16 @@ int cifs_open(struct inode *inode, struct file *file) | |||
| 300 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); | 300 | pCifsInode = CIFS_I(file->f_path.dentry->d_inode); |
| 301 | pCifsFile = cifs_fill_filedata(file); | 301 | pCifsFile = cifs_fill_filedata(file); |
| 302 | if (pCifsFile) { | 302 | if (pCifsFile) { |
| 303 | rc = 0; | ||
| 303 | FreeXid(xid); | 304 | FreeXid(xid); |
| 304 | return 0; | 305 | return rc; |
| 305 | } | 306 | } |
| 306 | 307 | ||
| 307 | full_path = build_path_from_dentry(file->f_path.dentry); | 308 | full_path = build_path_from_dentry(file->f_path.dentry); |
| 308 | if (full_path == NULL) { | 309 | if (full_path == NULL) { |
| 310 | rc = -ENOMEM; | ||
| 309 | FreeXid(xid); | 311 | FreeXid(xid); |
| 310 | return -ENOMEM; | 312 | return rc; |
| 311 | } | 313 | } |
| 312 | 314 | ||
| 313 | cFYI(1, ("inode = 0x%p file flags are 0x%x for %s", | 315 | cFYI(1, ("inode = 0x%p file flags are 0x%x for %s", |
| @@ -494,8 +496,9 @@ static int cifs_reopen_file(struct file *file, bool can_flush) | |||
| 494 | mutex_unlock(&pCifsFile->fh_mutex); | 496 | mutex_unlock(&pCifsFile->fh_mutex); |
| 495 | if (!pCifsFile->invalidHandle) { | 497 | if (!pCifsFile->invalidHandle) { |
| 496 | mutex_lock(&pCifsFile->fh_mutex); | 498 | mutex_lock(&pCifsFile->fh_mutex); |
| 499 | rc = 0; | ||
| 497 | FreeXid(xid); | 500 | FreeXid(xid); |
| 498 | return 0; | 501 | return rc; |
| 499 | } | 502 | } |
| 500 | 503 | ||
| 501 | if (file->f_path.dentry == NULL) { | 504 | if (file->f_path.dentry == NULL) { |
| @@ -845,8 +848,9 @@ int cifs_lock(struct file *file, int cmd, struct file_lock *pfLock) | |||
| 845 | tcon = cifs_sb->tcon; | 848 | tcon = cifs_sb->tcon; |
| 846 | 849 | ||
| 847 | if (file->private_data == NULL) { | 850 | if (file->private_data == NULL) { |
| 851 | rc = -EBADF; | ||
| 848 | FreeXid(xid); | 852 | FreeXid(xid); |
| 849 | return -EBADF; | 853 | return rc; |
| 850 | } | 854 | } |
| 851 | netfid = ((struct cifsFileInfo *)file->private_data)->netfid; | 855 | netfid = ((struct cifsFileInfo *)file->private_data)->netfid; |
| 852 | 856 | ||
| @@ -1805,8 +1809,9 @@ ssize_t cifs_user_read(struct file *file, char __user *read_data, | |||
| 1805 | pTcon = cifs_sb->tcon; | 1809 | pTcon = cifs_sb->tcon; |
| 1806 | 1810 | ||
| 1807 | if (file->private_data == NULL) { | 1811 | if (file->private_data == NULL) { |
| 1812 | rc = -EBADF; | ||
| 1808 | FreeXid(xid); | 1813 | FreeXid(xid); |
| 1809 | return -EBADF; | 1814 | return rc; |
| 1810 | } | 1815 | } |
| 1811 | open_file = (struct cifsFileInfo *)file->private_data; | 1816 | open_file = (struct cifsFileInfo *)file->private_data; |
| 1812 | 1817 | ||
| @@ -1885,8 +1890,9 @@ static ssize_t cifs_read(struct file *file, char *read_data, size_t read_size, | |||
| 1885 | pTcon = cifs_sb->tcon; | 1890 | pTcon = cifs_sb->tcon; |
| 1886 | 1891 | ||
| 1887 | if (file->private_data == NULL) { | 1892 | if (file->private_data == NULL) { |
| 1893 | rc = -EBADF; | ||
| 1888 | FreeXid(xid); | 1894 | FreeXid(xid); |
| 1889 | return -EBADF; | 1895 | return rc; |
| 1890 | } | 1896 | } |
| 1891 | open_file = (struct cifsFileInfo *)file->private_data; | 1897 | open_file = (struct cifsFileInfo *)file->private_data; |
| 1892 | 1898 | ||
| @@ -2019,8 +2025,9 @@ static int cifs_readpages(struct file *file, struct address_space *mapping, | |||
| 2019 | 2025 | ||
| 2020 | xid = GetXid(); | 2026 | xid = GetXid(); |
| 2021 | if (file->private_data == NULL) { | 2027 | if (file->private_data == NULL) { |
| 2028 | rc = -EBADF; | ||
| 2022 | FreeXid(xid); | 2029 | FreeXid(xid); |
| 2023 | return -EBADF; | 2030 | return rc; |
| 2024 | } | 2031 | } |
| 2025 | open_file = (struct cifsFileInfo *)file->private_data; | 2032 | open_file = (struct cifsFileInfo *)file->private_data; |
| 2026 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); | 2033 | cifs_sb = CIFS_SB(file->f_path.dentry->d_sb); |
| @@ -2185,8 +2192,9 @@ static int cifs_readpage(struct file *file, struct page *page) | |||
| 2185 | xid = GetXid(); | 2192 | xid = GetXid(); |
| 2186 | 2193 | ||
| 2187 | if (file->private_data == NULL) { | 2194 | if (file->private_data == NULL) { |
| 2195 | rc = -EBADF; | ||
| 2188 | FreeXid(xid); | 2196 | FreeXid(xid); |
| 2189 | return -EBADF; | 2197 | return rc; |
| 2190 | } | 2198 | } |
| 2191 | 2199 | ||
| 2192 | cFYI(1, ("readpage %p at offset %d 0x%x\n", | 2200 | cFYI(1, ("readpage %p at offset %d 0x%x\n", |
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index fad882b075ba..155c9e785d0c 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
| @@ -988,8 +988,9 @@ int cifs_unlink(struct inode *dir, struct dentry *dentry) | |||
| 988 | * sb->s_vfs_rename_mutex here */ | 988 | * sb->s_vfs_rename_mutex here */ |
| 989 | full_path = build_path_from_dentry(dentry); | 989 | full_path = build_path_from_dentry(dentry); |
| 990 | if (full_path == NULL) { | 990 | if (full_path == NULL) { |
| 991 | rc = -ENOMEM; | ||
| 991 | FreeXid(xid); | 992 | FreeXid(xid); |
| 992 | return -ENOMEM; | 993 | return rc; |
| 993 | } | 994 | } |
| 994 | 995 | ||
| 995 | if ((tcon->ses->capabilities & CAP_UNIX) && | 996 | if ((tcon->ses->capabilities & CAP_UNIX) && |
| @@ -1118,8 +1119,9 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode) | |||
| 1118 | 1119 | ||
| 1119 | full_path = build_path_from_dentry(direntry); | 1120 | full_path = build_path_from_dentry(direntry); |
| 1120 | if (full_path == NULL) { | 1121 | if (full_path == NULL) { |
| 1122 | rc = -ENOMEM; | ||
| 1121 | FreeXid(xid); | 1123 | FreeXid(xid); |
| 1122 | return -ENOMEM; | 1124 | return rc; |
| 1123 | } | 1125 | } |
| 1124 | 1126 | ||
| 1125 | if ((pTcon->ses->capabilities & CAP_UNIX) && | 1127 | if ((pTcon->ses->capabilities & CAP_UNIX) && |
| @@ -1303,8 +1305,9 @@ int cifs_rmdir(struct inode *inode, struct dentry *direntry) | |||
| 1303 | 1305 | ||
| 1304 | full_path = build_path_from_dentry(direntry); | 1306 | full_path = build_path_from_dentry(direntry); |
| 1305 | if (full_path == NULL) { | 1307 | if (full_path == NULL) { |
| 1308 | rc = -ENOMEM; | ||
| 1306 | FreeXid(xid); | 1309 | FreeXid(xid); |
| 1307 | return -ENOMEM; | 1310 | return rc; |
| 1308 | } | 1311 | } |
| 1309 | 1312 | ||
| 1310 | rc = CIFSSMBRmDir(xid, pTcon, full_path, cifs_sb->local_nls, | 1313 | rc = CIFSSMBRmDir(xid, pTcon, full_path, cifs_sb->local_nls, |
| @@ -1508,8 +1511,9 @@ int cifs_revalidate(struct dentry *direntry) | |||
| 1508 | since that would deadlock */ | 1511 | since that would deadlock */ |
| 1509 | full_path = build_path_from_dentry(direntry); | 1512 | full_path = build_path_from_dentry(direntry); |
| 1510 | if (full_path == NULL) { | 1513 | if (full_path == NULL) { |
| 1514 | rc = -ENOMEM; | ||
| 1511 | FreeXid(xid); | 1515 | FreeXid(xid); |
| 1512 | return -ENOMEM; | 1516 | return rc; |
| 1513 | } | 1517 | } |
| 1514 | cFYI(1, ("Revalidate: %s inode 0x%p count %d dentry: 0x%p d_time %ld " | 1518 | cFYI(1, ("Revalidate: %s inode 0x%p count %d dentry: 0x%p d_time %ld " |
| 1515 | "jiffies %ld", full_path, direntry->d_inode, | 1519 | "jiffies %ld", full_path, direntry->d_inode, |
| @@ -1911,8 +1915,9 @@ cifs_setattr_nounix(struct dentry *direntry, struct iattr *attrs) | |||
| 1911 | 1915 | ||
| 1912 | full_path = build_path_from_dentry(direntry); | 1916 | full_path = build_path_from_dentry(direntry); |
| 1913 | if (full_path == NULL) { | 1917 | if (full_path == NULL) { |
| 1918 | rc = -ENOMEM; | ||
| 1914 | FreeXid(xid); | 1919 | FreeXid(xid); |
| 1915 | return -ENOMEM; | 1920 | return rc; |
| 1916 | } | 1921 | } |
| 1917 | 1922 | ||
| 1918 | /* | 1923 | /* |
diff --git a/fs/cifs/link.c b/fs/cifs/link.c index cd83c53fcbb5..fc1e0487eaee 100644 --- a/fs/cifs/link.c +++ b/fs/cifs/link.c | |||
| @@ -172,8 +172,9 @@ cifs_symlink(struct inode *inode, struct dentry *direntry, const char *symname) | |||
| 172 | full_path = build_path_from_dentry(direntry); | 172 | full_path = build_path_from_dentry(direntry); |
| 173 | 173 | ||
| 174 | if (full_path == NULL) { | 174 | if (full_path == NULL) { |
| 175 | rc = -ENOMEM; | ||
| 175 | FreeXid(xid); | 176 | FreeXid(xid); |
| 176 | return -ENOMEM; | 177 | return rc; |
| 177 | } | 178 | } |
| 178 | 179 | ||
| 179 | cFYI(1, ("Full path: %s", full_path)); | 180 | cFYI(1, ("Full path: %s", full_path)); |
diff --git a/fs/cifs/xattr.c b/fs/cifs/xattr.c index e9527eedc639..a75afa3dd9e1 100644 --- a/fs/cifs/xattr.c +++ b/fs/cifs/xattr.c | |||
| @@ -64,8 +64,9 @@ int cifs_removexattr(struct dentry *direntry, const char *ea_name) | |||
| 64 | 64 | ||
| 65 | full_path = build_path_from_dentry(direntry); | 65 | full_path = build_path_from_dentry(direntry); |
| 66 | if (full_path == NULL) { | 66 | if (full_path == NULL) { |
| 67 | rc = -ENOMEM; | ||
| 67 | FreeXid(xid); | 68 | FreeXid(xid); |
| 68 | return -ENOMEM; | 69 | return rc; |
| 69 | } | 70 | } |
| 70 | if (ea_name == NULL) { | 71 | if (ea_name == NULL) { |
| 71 | cFYI(1, ("Null xattr names not supported")); | 72 | cFYI(1, ("Null xattr names not supported")); |
| @@ -118,8 +119,9 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name, | |||
| 118 | 119 | ||
| 119 | full_path = build_path_from_dentry(direntry); | 120 | full_path = build_path_from_dentry(direntry); |
| 120 | if (full_path == NULL) { | 121 | if (full_path == NULL) { |
| 122 | rc = -ENOMEM; | ||
| 121 | FreeXid(xid); | 123 | FreeXid(xid); |
| 122 | return -ENOMEM; | 124 | return rc; |
| 123 | } | 125 | } |
| 124 | /* return dos attributes as pseudo xattr */ | 126 | /* return dos attributes as pseudo xattr */ |
| 125 | /* return alt name if available as pseudo attr */ | 127 | /* return alt name if available as pseudo attr */ |
| @@ -225,8 +227,9 @@ ssize_t cifs_getxattr(struct dentry *direntry, const char *ea_name, | |||
| 225 | 227 | ||
| 226 | full_path = build_path_from_dentry(direntry); | 228 | full_path = build_path_from_dentry(direntry); |
| 227 | if (full_path == NULL) { | 229 | if (full_path == NULL) { |
| 230 | rc = -ENOMEM; | ||
| 228 | FreeXid(xid); | 231 | FreeXid(xid); |
| 229 | return -ENOMEM; | 232 | return rc; |
| 230 | } | 233 | } |
| 231 | /* return dos attributes as pseudo xattr */ | 234 | /* return dos attributes as pseudo xattr */ |
| 232 | /* return alt name if available as pseudo attr */ | 235 | /* return alt name if available as pseudo attr */ |
| @@ -351,8 +354,9 @@ ssize_t cifs_listxattr(struct dentry *direntry, char *data, size_t buf_size) | |||
| 351 | 354 | ||
| 352 | full_path = build_path_from_dentry(direntry); | 355 | full_path = build_path_from_dentry(direntry); |
| 353 | if (full_path == NULL) { | 356 | if (full_path == NULL) { |
| 357 | rc = -ENOMEM; | ||
| 354 | FreeXid(xid); | 358 | FreeXid(xid); |
| 355 | return -ENOMEM; | 359 | return rc; |
| 356 | } | 360 | } |
| 357 | /* return dos attributes as pseudo xattr */ | 361 | /* return dos attributes as pseudo xattr */ |
| 358 | /* return alt name if available as pseudo attr */ | 362 | /* return alt name if available as pseudo attr */ |
