Commit c9c7fa00 authored by Steve French's avatar Steve French

Fix the conflict between rwpidforward and rw mount options

Both these options are started with "rw" - that's why the first one
isn't switched on even if it is specified. Fix this by adding a length
check for "rw" option check.

Cc: <stable@kernel.org>
Signed-off-by: default avatarPavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: default avatarSteve French <sfrench@us.ibm.com>
parent 5b980b01
...@@ -1298,7 +1298,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, ...@@ -1298,7 +1298,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
/* ignore */ /* ignore */
} else if (strnicmp(data, "guest", 5) == 0) { } else if (strnicmp(data, "guest", 5) == 0) {
/* ignore */ /* ignore */
} else if (strnicmp(data, "rw", 2) == 0) { } else if (strnicmp(data, "rw", 2) == 0 && strlen(data) == 2) {
/* ignore */ /* ignore */
} else if (strnicmp(data, "ro", 2) == 0) { } else if (strnicmp(data, "ro", 2) == 0) {
/* ignore */ /* ignore */
...@@ -1401,7 +1401,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, ...@@ -1401,7 +1401,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname,
vol->server_ino = 1; vol->server_ino = 1;
} else if (strnicmp(data, "noserverino", 9) == 0) { } else if (strnicmp(data, "noserverino", 9) == 0) {
vol->server_ino = 0; vol->server_ino = 0;
} else if (strnicmp(data, "rwpidforward", 4) == 0) { } else if (strnicmp(data, "rwpidforward", 12) == 0) {
vol->rwpidforward = 1; vol->rwpidforward = 1;
} else if (strnicmp(data, "cifsacl", 7) == 0) { } else if (strnicmp(data, "cifsacl", 7) == 0) {
vol->cifs_acl = 1; vol->cifs_acl = 1;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment