diff mbox series

[SMB3,client] minor coverity fix for unitialized MBZ ACL fields

Message ID CAH2r5msaxD7WVUHNUpVfZpjrabLTU=sY-kVo+WD=F04m0v4gaA@mail.gmail.com
State New
Headers show
Series [SMB3,client] minor coverity fix for unitialized MBZ ACL fields | expand

Commit Message

Steve French Oct. 14, 2022, 11:57 p.m. UTC
smb3: must initialize two ACL struct fields to zero

Coverity spotted that we were not initalizing Stbz1 and Stbz2 to
zero in create_sd_buf.

Addresses-Coverity: 1513848 ("Uninitialized scalar variable")

See attached

Comments

Steve French Oct. 15, 2022, 12:26 a.m. UTC | #1
---------- Forwarded message ---------
From: Steve French <smfrench@gmail.com>
Date: Fri, Oct 14, 2022 at 7:25 PM
Subject: Re: [PATCH][SMB3 client] minor coverity fix for unitialized
MBZ ACL fields
To: CIFS <linux-cifs@vger.kernel.org>
Cc: Paulo Alcantara <pc@cjr.nz>


And one more similar one (although probably more minor)

    cifs: lease key is uninitialized in smb1 paths

    It is cleaner to set lease key to zero in the places where leases are not
    supported (smb1 can not return lease keys so the field was uninitialized).

    Addresses-Coverity: 1513994 ("Uninitialized scalar variable")

See attached.


On Fri, Oct 14, 2022 at 6:57 PM Steve French <smfrench@gmail.com> wrote:
>
> smb3: must initialize two ACL struct fields to zero
>
> Coverity spotted that we were not initalizing Stbz1 and Stbz2 to
> zero in create_sd_buf.
>
> Addresses-Coverity: 1513848 ("Uninitialized scalar variable")
>
> See attached
>
> --
> Thanks,
>
> Steve
Steve French Oct. 15, 2022, 1:10 a.m. UTC | #2
Add another two places that coverity pointed out (in cifs_open and
_cifsFileInfo_put) with similar issue. trivial fix.


On Fri, Oct 14, 2022 at 7:26 PM Steve French <smfrench@gmail.com> wrote:
>
> ---------- Forwarded message ---------
> From: Steve French <smfrench@gmail.com>
> Date: Fri, Oct 14, 2022 at 7:25 PM
> Subject: Re: [PATCH][SMB3 client] minor coverity fix for unitialized
> MBZ ACL fields
> To: CIFS <linux-cifs@vger.kernel.org>
> Cc: Paulo Alcantara <pc@cjr.nz>
>
>
> And one more similar one (although probably more minor)
>
>     cifs: lease key is uninitialized in smb1 paths
>
>     It is cleaner to set lease key to zero in the places where leases are not
>     supported (smb1 can not return lease keys so the field was uninitialized).
>
>     Addresses-Coverity: 1513994 ("Uninitialized scalar variable")
>
> See attached.
>
>
> On Fri, Oct 14, 2022 at 6:57 PM Steve French <smfrench@gmail.com> wrote:
> >
> > smb3: must initialize two ACL struct fields to zero
> >
> > Coverity spotted that we were not initalizing Stbz1 and Stbz2 to
> > zero in create_sd_buf.
> >
> > Addresses-Coverity: 1513848 ("Uninitialized scalar variable")
> >
> > See attached
> >
> > --
> > Thanks,
> >
> > Steve
>
>
>
> --
> Thanks,
>
> Steve
>
>
> --
> Thanks,
>
> Steve
diff mbox series

Patch

From 4944fc48ad344d76263b9b4394ce0d474b7f5de1 Mon Sep 17 00:00:00 2001
From: Steve French <stfrench@microsoft.com>
Date: Fri, 14 Oct 2022 18:50:20 -0500
Subject: [PATCH] smb3: must initialize two ACL struct fields to zero

Coverity spotted that we were not initalizing Stbz1 and Stbz2 to
zero in create_sd_buf.

Addresses-Coverity: 1513848 ("Uninitialized scalar variable")
Cc: <stable@vger.kernel.org>
Reviewed-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Signed-off-by: Steve French <stfrench@microsoft.com>
---
 fs/cifs/smb2pdu.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/fs/cifs/smb2pdu.c b/fs/cifs/smb2pdu.c
index e1162217ad1a..f8f89ff96c5d 100644
--- a/fs/cifs/smb2pdu.c
+++ b/fs/cifs/smb2pdu.c
@@ -2420,7 +2420,7 @@  create_sd_buf(umode_t mode, bool set_owner, unsigned int *len)
 	unsigned int acelen, acl_size, ace_count;
 	unsigned int owner_offset = 0;
 	unsigned int group_offset = 0;
-	struct smb3_acl acl;
+	struct smb3_acl acl = {};
 
 	*len = round_up(sizeof(struct crt_sd_ctxt) + (sizeof(struct cifs_ace) * 4), 8);
 
@@ -2493,6 +2493,7 @@  create_sd_buf(umode_t mode, bool set_owner, unsigned int *len)
 	acl.AclRevision = ACL_REVISION; /* See 2.4.4.1 of MS-DTYP */
 	acl.AclSize = cpu_to_le16(acl_size);
 	acl.AceCount = cpu_to_le16(ace_count);
+	/* acl.Sbz1 and Sbz2 MBZ so are not set here, but initialized above */
 	memcpy(aclptr, &acl, sizeof(struct smb3_acl));
 
 	buf->ccontext.DataLength = cpu_to_le32(ptr - (__u8 *)&buf->sd);
-- 
2.34.1