|
@@ -1945,9 +1945,14 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
|
|
|
}
|
|
|
|
|
|
if (!got_ip) {
|
|
|
+ int len;
|
|
|
+ const char *slash;
|
|
|
+
|
|
|
/* No ip= option specified? Try to get it from UNC */
|
|
|
- if (!cifs_convert_address(dstaddr, &vol->UNC[2],
|
|
|
- strlen(&vol->UNC[2]))) {
|
|
|
+ /* Use the address part of the UNC. */
|
|
|
+ slash = strchr(&vol->UNC[2], '\\');
|
|
|
+ len = slash - &vol->UNC[2];
|
|
|
+ if (!cifs_convert_address(dstaddr, &vol->UNC[2], len)) {
|
|
|
pr_err("Unable to determine destination address.\n");
|
|
|
goto cifs_parse_mount_err;
|
|
|
}
|