ksmbd: allow PROTECTED_DACL_SECINFO and UNPROTECTED_DACL_SECINFO addition information...
authorNamjae Jeon <namjae.jeon@samsung.com>
Mon, 28 Jun 2021 06:26:37 +0000 (15:26 +0900)
committerNamjae Jeon <namjae.jeon@samsung.com>
Tue, 29 Jun 2021 06:06:08 +0000 (15:06 +0900)
"cifsd: Fix regression in smb2_get_info" patch cause that dacl doesn't
work. windows send smb2 set info security with PROTECTED_DACL_SECINFO to
control dacl. But previous patch doesn't allow it.
This patch add PROTECTED_DACL_SECINFO and UNPROTECTED_DACL_SECINFO
addtional information flags in check.

Signed-off-by: Namjae Jeon <namjae.jeon@samsung.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/ksmbd/smb2pdu.c

index 42fc3bd..7d8bec0 100644 (file)
@@ -4888,9 +4888,11 @@ static int smb2_get_info_sec(struct ksmbd_work *work,
        int addition_info = le32_to_cpu(req->AdditionalInformation);
        int rc;
 
-       if (addition_info & ~(OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO)) {
-               ksmbd_debug(SMB, "Unsupported addition info: 0x%x)\n",
-                           addition_info);
+       if (addition_info & ~(OWNER_SECINFO | GROUP_SECINFO | DACL_SECINFO |
+                             PROTECTED_DACL_SECINFO |
+                             UNPROTECTED_DACL_SECINFO)) {
+               pr_err("Unsupported addition info: 0x%x)\n",
+                      addition_info);
 
                pntsd->revision = cpu_to_le16(1);
                pntsd->type = cpu_to_le16(SELF_RELATIVE | DACL_PROTECTED);