Commit fae11330 authored by Arnd Bergmann's avatar Arnd Bergmann Committed by Steve French
Browse files

smb: client: fix sbflags initialization



The newly introduced variable is initialized in an #ifdef block
but used outside of it, leading to undefined behavior when
CONFIG_CIFS_ALLOW_INSECURE_LEGACY is disabled:

fs/smb/client/dir.c:417:9: error: variable 'sbflags' is uninitialized when used here [-Werror,-Wuninitialized]
  417 |                                 if (sbflags & CIFS_MOUNT_DYNPERM)
      |                                     ^~~~~~~

Move the initialization into the declaration, the same way as the
other similar function do it.

Fixes: 4fc3a433 ("smb: client: use atomic_t for mnt_cifs_flags")
Signed-off-by: default avatarArnd Bergmann <arnd@arndb.de>
Reviewed-by: default avatarPaulo Alcantara (Red Hat) <pc@manguebit.org>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent 4a7d2729
Loading
Loading
Loading
Loading
+1 −2
Original line number Diff line number Diff line
@@ -187,7 +187,7 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
	const char *full_path;
	void *page = alloc_dentry_path();
	struct inode *newinode = NULL;
	unsigned int sbflags;
	unsigned int sbflags = cifs_sb_flags(cifs_sb);
	int disposition;
	struct TCP_Server_Info *server = tcon->ses->server;
	struct cifs_open_parms oparms;
@@ -368,7 +368,6 @@ static int cifs_do_create(struct inode *inode, struct dentry *direntry, unsigned
	 * If Open reported that we actually created a file then we now have to
	 * set the mode if possible.
	 */
	sbflags = cifs_sb_flags(cifs_sb);
	if ((tcon->unix_ext) && (*oplock & CIFS_CREATE_ACTION)) {
		struct cifs_unix_set_info_args args = {
				.mode	= mode,