From: Dan Carpenter <dan.carpenter@oracle.com>
To: Steve French <sfrench@samba.org>, Shyam Prasad N <sprasad@microsoft.com>
Cc: linux-cifs@vger.kernel.org, samba-technical@lists.samba.org,
kernel-janitors@vger.kernel.org
Subject: [PATCH] cifs: Fix uninitialized variable in set_chmod_dacl()
Date: Mon, 14 Dec 2020 11:56:04 +0000 [thread overview]
Message-ID: <X9dS1EllbQhuX7/C@mwanda> (raw)
Initialize the "nmode" variable earlier to prevent an uninitialized
variable bug when we do "size += setup_special_mode_ACE(pntace, nmode);"
Fixes: 253374f7557e ("cifs: Fix unix perm bits to cifsacl conversion for "other" bits.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
fs/cifs/cifsacl.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index d7a6d0f533bf..8410db328e5e 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -920,6 +920,13 @@ static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid,
__u64 deny_group_mode = 0;
bool sticky_set = false;
+ /*
+ * We'll try to keep the mode as requested by the user.
+ * But in cases where we cannot meaningfully convert that
+ * into ACL, return back the updated mode, so that it is
+ * updated in the inode.
+ */
+ nmode = *pnmode;
pnndacl = (struct cifs_acl *)((char *)pndacl + sizeof(struct cifs_acl));
if (modefromsid) {
@@ -931,14 +938,6 @@ static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid,
goto set_size;
}
- /*
- * We'll try to keep the mode as requested by the user.
- * But in cases where we cannot meaningfully convert that
- * into ACL, return back the updated mode, so that it is
- * updated in the inode.
- */
- nmode = *pnmode;
-
if (!memcmp(pownersid, pgrpsid, sizeof(struct cifs_sid))) {
/*
* Case when owner and group SIDs are the same.
--
2.29.2
WARNING: multiple messages have this Message-ID (diff)
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Steve French <sfrench@samba.org>, Shyam Prasad N <sprasad@microsoft.com>
Cc: linux-cifs@vger.kernel.org, samba-technical@lists.samba.org,
kernel-janitors@vger.kernel.org
Subject: [PATCH] cifs: Fix uninitialized variable in set_chmod_dacl()
Date: Mon, 14 Dec 2020 14:56:04 +0300 [thread overview]
Message-ID: <X9dS1EllbQhuX7/C@mwanda> (raw)
Initialize the "nmode" variable earlier to prevent an uninitialized
variable bug when we do "size += setup_special_mode_ACE(pntace, nmode);"
Fixes: 253374f7557e ("cifs: Fix unix perm bits to cifsacl conversion for "other" bits.")
Signed-off-by: Dan Carpenter <dan.carpenter@oracle.com>
---
fs/cifs/cifsacl.c | 15 +++++++--------
1 file changed, 7 insertions(+), 8 deletions(-)
diff --git a/fs/cifs/cifsacl.c b/fs/cifs/cifsacl.c
index d7a6d0f533bf..8410db328e5e 100644
--- a/fs/cifs/cifsacl.c
+++ b/fs/cifs/cifsacl.c
@@ -920,6 +920,13 @@ static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid,
__u64 deny_group_mode = 0;
bool sticky_set = false;
+ /*
+ * We'll try to keep the mode as requested by the user.
+ * But in cases where we cannot meaningfully convert that
+ * into ACL, return back the updated mode, so that it is
+ * updated in the inode.
+ */
+ nmode = *pnmode;
pnndacl = (struct cifs_acl *)((char *)pndacl + sizeof(struct cifs_acl));
if (modefromsid) {
@@ -931,14 +938,6 @@ static int set_chmod_dacl(struct cifs_acl *pndacl, struct cifs_sid *pownersid,
goto set_size;
}
- /*
- * We'll try to keep the mode as requested by the user.
- * But in cases where we cannot meaningfully convert that
- * into ACL, return back the updated mode, so that it is
- * updated in the inode.
- */
- nmode = *pnmode;
-
if (!memcmp(pownersid, pgrpsid, sizeof(struct cifs_sid))) {
/*
* Case when owner and group SIDs are the same.
--
2.29.2
next reply other threads:[~2020-12-14 11:56 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2020-12-14 11:56 Dan Carpenter [this message]
2020-12-14 11:56 ` [PATCH] cifs: Fix uninitialized variable in set_chmod_dacl() Dan Carpenter
2020-12-14 12:06 ` [EXTERNAL] " Shyam Prasad
2020-12-14 12:16 ` Aurélien Aptel
2020-12-14 12:16 ` Aurélien Aptel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=X9dS1EllbQhuX7/C@mwanda \
--to=dan.carpenter@oracle.com \
--cc=kernel-janitors@vger.kernel.org \
--cc=linux-cifs@vger.kernel.org \
--cc=samba-technical@lists.samba.org \
--cc=sfrench@samba.org \
--cc=sprasad@microsoft.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.