diff options
Diffstat (limited to 'fs/cifs/inode.c')
-rw-r--r-- | fs/cifs/inode.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/fs/cifs/inode.c b/fs/cifs/inode.c index 4690a360c855..f121a80fdd6f 100644 --- a/fs/cifs/inode.c +++ b/fs/cifs/inode.c | |||
@@ -763,6 +763,9 @@ cifs_set_file_info(struct inode *inode, struct iattr *attrs, int xid, | |||
763 | struct cifsTconInfo *pTcon = cifs_sb->tcon; | 763 | struct cifsTconInfo *pTcon = cifs_sb->tcon; |
764 | FILE_BASIC_INFO info_buf; | 764 | FILE_BASIC_INFO info_buf; |
765 | 765 | ||
766 | if (attrs == NULL) | ||
767 | return -EINVAL; | ||
768 | |||
766 | if (attrs->ia_valid & ATTR_ATIME) { | 769 | if (attrs->ia_valid & ATTR_ATIME) { |
767 | set_time = true; | 770 | set_time = true; |
768 | info_buf.LastAccessTime = | 771 | info_buf.LastAccessTime = |
@@ -1122,7 +1125,7 @@ int cifs_mkdir(struct inode *inode, struct dentry *direntry, int mode) | |||
1122 | goto mkdir_out; | 1125 | goto mkdir_out; |
1123 | } | 1126 | } |
1124 | 1127 | ||
1125 | mode &= ~current->fs->umask; | 1128 | mode &= ~current_umask(); |
1126 | rc = CIFSPOSIXCreate(xid, pTcon, SMB_O_DIRECTORY | SMB_O_CREAT, | 1129 | rc = CIFSPOSIXCreate(xid, pTcon, SMB_O_DIRECTORY | SMB_O_CREAT, |
1127 | mode, NULL /* netfid */, pInfo, &oplock, | 1130 | mode, NULL /* netfid */, pInfo, &oplock, |
1128 | full_path, cifs_sb->local_nls, | 1131 | full_path, cifs_sb->local_nls, |
@@ -1201,7 +1204,7 @@ mkdir_get_info: | |||
1201 | if ((direntry->d_inode) && (direntry->d_inode->i_nlink < 2)) | 1204 | if ((direntry->d_inode) && (direntry->d_inode->i_nlink < 2)) |
1202 | direntry->d_inode->i_nlink = 2; | 1205 | direntry->d_inode->i_nlink = 2; |
1203 | 1206 | ||
1204 | mode &= ~current->fs->umask; | 1207 | mode &= ~current_umask(); |
1205 | /* must turn on setgid bit if parent dir has it */ | 1208 | /* must turn on setgid bit if parent dir has it */ |
1206 | if (inode->i_mode & S_ISGID) | 1209 | if (inode->i_mode & S_ISGID) |
1207 | mode |= S_ISGID; | 1210 | mode |= S_ISGID; |