Skip to content

Commit

Permalink
cifs: returning mount parm processing errors correctly
Browse files Browse the repository at this point in the history
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: 24e0a1e ("cifs: switch to new mount api")
Acked-by: Ronnie Sahlberg <[email protected]>
Signed-off-by: Steve French <[email protected]>
  • Loading branch information
Steve French committed Jan 28, 2021
1 parent c9b8cd6 commit bd2f0b4
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions fs/cifs/fs_context.c
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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) {
Expand All @@ -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;
}
}

Expand Down Expand Up @@ -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)
Expand Down

0 comments on commit bd2f0b4

Please sign in to comment.