Commit bd2f0b43 authored by Steve French's avatar Steve French
Browse files

cifs: returning mount parm processing errors correctly



During additional testing of the updated cifs.ko with the
new mount API support, we found a few additional cases where
we were logging errors, but not returning them to the user.

For example:
   a) invalid security mechanisms
   b) invalid cache options
   c) unsupported rdma
   d) invalid smb dialect requested

Fixes: 24e0a1ef ("cifs: switch to new mount api")
Acked-by: default avatarRonnie Sahlberg <lsahlber@redhat.com>
Signed-off-by: default avatarSteve French <stfrench@microsoft.com>
parent c9b8cd6a
Loading
Loading
Loading
Loading
+4 −4
Original line number Diff line number Diff line
@@ -533,7 +533,7 @@ static int smb3_fs_context_validate(struct fs_context *fc)

	if (ctx->rdma && ctx->vals->protocol_id < SMB30_PROT_ID) {
		cifs_dbg(VFS, "SMB Direct requires Version >=3.0\n");
		return -1;
		return -EOPNOTSUPP;
	}

#ifndef CONFIG_KEYS
@@ -556,7 +556,7 @@ static int smb3_fs_context_validate(struct fs_context *fc)
	/* make sure UNC has a share name */
	if (strlen(ctx->UNC) < 3 || !strchr(ctx->UNC + 3, '\\')) {
		cifs_dbg(VFS, "Malformed UNC. Unable to find share name.\n");
		return -1;
		return -ENOENT;
	}

	if (!ctx->got_ip) {
@@ -570,7 +570,7 @@ static int smb3_fs_context_validate(struct fs_context *fc)
		if (!cifs_convert_address((struct sockaddr *)&ctx->dstaddr,
					  &ctx->UNC[2], len)) {
			pr_err("Unable to determine destination address\n");
			return -1;
			return -EHOSTUNREACH;
		}
	}

@@ -1265,7 +1265,7 @@ static int smb3_fs_context_parse_param(struct fs_context *fc,
	return 0;

 cifs_parse_mount_err:
	return 1;
	return -EINVAL;
}

int smb3_init_fs_context(struct fs_context *fc)