mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 15:11:31 +00:00
cifs: fix error handling when calling cifs_parse_devname
When we allowed separate unc= and prefixpath= mount options, we could ignore EINVAL errors from cifs_parse_devname. Now that they are deprecated, we need to check for that as well and fail the mount if it's malformed. Also fix a later error message that refers to the unc= option. Signed-off-by: Jeff Layton <jlayton@redhat.com> Signed-off-by: Steve French <sfrench@us.ibm.com>
This commit is contained in:
parent
539673fff7
commit
37d4f99b55
@ -1258,14 +1258,18 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
|
||||
vol->backupuid_specified = false; /* no backup intent for a user */
|
||||
vol->backupgid_specified = false; /* no backup intent for a group */
|
||||
|
||||
/*
|
||||
* For now, we ignore -EINVAL errors under the assumption that the
|
||||
* unc= and prefixpath= options will be usable.
|
||||
*/
|
||||
if (cifs_parse_devname(devname, vol) == -ENOMEM) {
|
||||
printk(KERN_ERR "CIFS: Unable to allocate memory to parse "
|
||||
"device string.\n");
|
||||
goto out_nomem;
|
||||
switch (cifs_parse_devname(devname, vol)) {
|
||||
case 0:
|
||||
break;
|
||||
case -ENOMEM:
|
||||
cifs_dbg(VFS, "Unable to allocate memory for devname.\n");
|
||||
goto cifs_parse_mount_err;
|
||||
case -EINVAL:
|
||||
cifs_dbg(VFS, "Malformed UNC in devname.\n");
|
||||
goto cifs_parse_mount_err;
|
||||
default:
|
||||
cifs_dbg(VFS, "Unknown error parsing devname.\n");
|
||||
goto cifs_parse_mount_err;
|
||||
}
|
||||
|
||||
while ((data = strsep(&options, separator)) != NULL) {
|
||||
@ -1827,7 +1831,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
|
||||
}
|
||||
#endif
|
||||
if (!vol->UNC) {
|
||||
cifs_dbg(VFS, "CIFS mount error: No usable UNC path provided in device string or in unc= option!\n");
|
||||
cifs_dbg(VFS, "CIFS mount error: No usable UNC path provided in device string!\n");
|
||||
goto cifs_parse_mount_err;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user