]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - fs/cifs/xattr.c
VFS: Fix access("file", X_OK) in the presence of ACLs
[mv-sheeva.git] / fs / cifs / xattr.c
index 777e3363c2a4dd95ec3c05f51678ae3810369229..7754d641775eb9e24e3535158b047e54c1b0217a 100644 (file)
@@ -62,9 +62,7 @@ int cifs_removexattr(struct dentry * direntry, const char * ea_name)
        cifs_sb = CIFS_SB(sb);
        pTcon = cifs_sb->tcon;
                                                                                      
-       down(&sb->s_vfs_rename_sem);
        full_path = build_path_from_dentry(direntry);
-       up(&sb->s_vfs_rename_sem);
        if(full_path == NULL) {
                FreeXid(xid);
                return -ENOMEM;
@@ -116,9 +114,7 @@ int cifs_setxattr(struct dentry * direntry, const char * ea_name,
        cifs_sb = CIFS_SB(sb);
        pTcon = cifs_sb->tcon;
 
-       down(&sb->s_vfs_rename_sem);
        full_path = build_path_from_dentry(direntry);
-       up(&sb->s_vfs_rename_sem);
        if(full_path == NULL) {
                FreeXid(xid);
                return -ENOMEM;
@@ -223,9 +219,7 @@ ssize_t cifs_getxattr(struct dentry * direntry, const char * ea_name,
        cifs_sb = CIFS_SB(sb);
        pTcon = cifs_sb->tcon;
 
-       down(&sb->s_vfs_rename_sem);
        full_path = build_path_from_dentry(direntry);
-       up(&sb->s_vfs_rename_sem);
        if(full_path == NULL) {
                FreeXid(xid);
                return -ENOMEM;
@@ -341,9 +335,7 @@ ssize_t cifs_listxattr(struct dentry * direntry, char * data, size_t buf_size)
        cifs_sb = CIFS_SB(sb);
        pTcon = cifs_sb->tcon;
 
-       down(&sb->s_vfs_rename_sem);
        full_path = build_path_from_dentry(direntry);
-       up(&sb->s_vfs_rename_sem);
        if(full_path == NULL) {
                FreeXid(xid);
                return -ENOMEM;