cifs: fix set of group SID via NTSD xattrs
authorAmir Goldstein <amir73il@gmail.com>
Mon, 3 Jan 2022 14:50:25 +0000 (16:50 +0200)
committerSteve French <stfrench@microsoft.com>
Tue, 19 Apr 2022 22:25:38 +0000 (17:25 -0500)
'setcifsacl -g <SID>' silently fails to set the group SID on server.

Actually, the bug existed since commit 438471b67963 ("CIFS: Add support
for setting owner info, dos attributes, and create time"), but this fix
will not apply cleanly to kernel versions <= v5.10.

Fixes: 3970acf7ddb9 ("SMB3: Add support for getting and setting SACLs")
Cc: stable@vger.kernel.org # 5.11+
Signed-off-by: Amir Goldstein <amir73il@gmail.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/cifs/xattr.c

index 7d8b72d67c80345066ece20fea04094d3afa8dbc..9d486fbbfbbde9291d76012f9217fe26ea69edc3 100644 (file)
@@ -175,11 +175,13 @@ static int cifs_xattr_set(const struct xattr_handler *handler,
                                switch (handler->flags) {
                                case XATTR_CIFS_NTSD_FULL:
                                        aclflags = (CIFS_ACL_OWNER |
+                                                   CIFS_ACL_GROUP |
                                                    CIFS_ACL_DACL |
                                                    CIFS_ACL_SACL);
                                        break;
                                case XATTR_CIFS_NTSD:
                                        aclflags = (CIFS_ACL_OWNER |
+                                                   CIFS_ACL_GROUP |
                                                    CIFS_ACL_DACL);
                                        break;
                                case XATTR_CIFS_ACL: