|
@@ -105,7 +105,6 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name,
|
|
|
struct cifs_tcon *pTcon;
|
|
|
struct super_block *sb;
|
|
|
char *full_path;
|
|
|
- struct cifs_ntsd *pacl;
|
|
|
|
|
|
if (direntry == NULL)
|
|
|
return -EIO;
|
|
@@ -164,23 +163,24 @@ int cifs_setxattr(struct dentry *direntry, const char *ea_name,
|
|
|
cifs_sb->mnt_cifs_flags & CIFS_MOUNT_MAP_SPECIAL_CHR);
|
|
|
} else if (strncmp(ea_name, CIFS_XATTR_CIFS_ACL,
|
|
|
strlen(CIFS_XATTR_CIFS_ACL)) == 0) {
|
|
|
+#ifdef CONFIG_CIFS_ACL
|
|
|
+ struct cifs_ntsd *pacl;
|
|
|
pacl = kmalloc(value_size, GFP_KERNEL);
|
|
|
if (!pacl) {
|
|
|
cFYI(1, "%s: Can't allocate memory for ACL",
|
|
|
__func__);
|
|
|
rc = -ENOMEM;
|
|
|
} else {
|
|
|
-#ifdef CONFIG_CIFS_ACL
|
|
|
memcpy(pacl, ea_value, value_size);
|
|
|
rc = set_cifs_acl(pacl, value_size,
|
|
|
direntry->d_inode, full_path, CIFS_ACL_DACL);
|
|
|
if (rc == 0) /* force revalidate of the inode */
|
|
|
CIFS_I(direntry->d_inode)->time = 0;
|
|
|
kfree(pacl);
|
|
|
+ }
|
|
|
#else
|
|
|
cFYI(1, "Set CIFS ACL not supported yet");
|
|
|
#endif /* CONFIG_CIFS_ACL */
|
|
|
- }
|
|
|
} else {
|
|
|
int temp;
|
|
|
temp = strncmp(ea_name, POSIX_ACL_XATTR_ACCESS,
|