Skip to content

Commit

Permalink
[CIFS] Do not send Query All EAs SMB when mount option nouser_xattr
Browse files Browse the repository at this point in the history
specified

Pointed out by Bjoern Jacke

Signed-off-by: Steve French <sfrench@us.ibm.com>
  • Loading branch information
Steve French committed Aug 16, 2006
1 parent 5ddaa68 commit ea4c07d
Show file tree
Hide file tree
Showing 3 changed files with 8 additions and 3 deletions.
3 changes: 2 additions & 1 deletion fs/cifs/CHANGES
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,8 @@ time out requests if server still responding reasonably fast
on requests on other threads. Improve POSIX locking emulation,
(lock cancel now works, and unlock of merged range works even
to Windows servers now). Fix oops on mount to lanman servers
(win9x, os/2 etc.) when null password.
(win9x, os/2 etc.) when null password. Do not send listxattr
(SMB to query all EAs) if nouser_xattr specified.

Version 1.44
------------
Expand Down
2 changes: 1 addition & 1 deletion fs/cifs/README
Original file line number Diff line number Diff line change
Expand Up @@ -408,7 +408,7 @@ A partial list of the supported mount options follows:
user_xattr Allow getting and setting user xattrs as OS/2 EAs (extended
attributes) to the server (default) e.g. via setfattr
and getfattr utilities.
nouser_xattr Do not allow getfattr/setfattr to get/set xattrs
nouser_xattr Do not allow getfattr/setfattr to get/set/list xattrs
mapchars Translate six of the seven reserved characters (not backslash)
*?<>|:
to the remap range (above 0xF000), which also
Expand Down
6 changes: 5 additions & 1 deletion fs/cifs/xattr.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,11 +330,15 @@ ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size)
sb = direntry->d_inode->i_sb;
if(sb == NULL)
return -EIO;
xid = GetXid();

cifs_sb = CIFS_SB(sb);
pTcon = cifs_sb->tcon;

if(cifs_sb->mnt_cifs_flags & CIFS_MOUNT_NO_XATTR)
return -EOPNOTSUPP;

xid = GetXid();

full_path = build_path_from_dentry(direntry);
if(full_path == NULL) {
FreeXid(xid);
Expand Down

0 comments on commit ea4c07d

Please sign in to comment.