diff options
| author | Steve French <sfrench@us.ibm.com> | 2011-08-29 14:54:12 -0400 |
|---|---|---|
| committer | Steve French <sfrench@us.ibm.com> | 2011-09-19 22:16:20 -0400 |
| commit | c9c7fa0064f4afe1d040e72f24c2256dd8ac402d (patch) | |
| tree | 213d8f0d198e878e224fba1d8380100e5699f4c5 | |
| parent | 5b980b01212199833ee8023770fa4cbf1b85e9f4 (diff) | |
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: Pavel Shilovsky <piastry@etersoft.ru>
Signed-off-by: Steve French <sfrench@us.ibm.com>
| -rw-r--r-- | fs/cifs/connect.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 633c246b6775..f4af4cc37500 100644 --- a/fs/cifs/connect.c +++ b/fs/cifs/connect.c | |||
| @@ -1298,7 +1298,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, | |||
| 1298 | /* ignore */ | 1298 | /* ignore */ |
| 1299 | } else if (strnicmp(data, "guest", 5) == 0) { | 1299 | } else if (strnicmp(data, "guest", 5) == 0) { |
| 1300 | /* ignore */ | 1300 | /* ignore */ |
| 1301 | } else if (strnicmp(data, "rw", 2) == 0) { | 1301 | } else if (strnicmp(data, "rw", 2) == 0 && strlen(data) == 2) { |
| 1302 | /* ignore */ | 1302 | /* ignore */ |
| 1303 | } else if (strnicmp(data, "ro", 2) == 0) { | 1303 | } else if (strnicmp(data, "ro", 2) == 0) { |
| 1304 | /* ignore */ | 1304 | /* ignore */ |
| @@ -1401,7 +1401,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, | |||
| 1401 | vol->server_ino = 1; | 1401 | vol->server_ino = 1; |
| 1402 | } else if (strnicmp(data, "noserverino", 9) == 0) { | 1402 | } else if (strnicmp(data, "noserverino", 9) == 0) { |
| 1403 | vol->server_ino = 0; | 1403 | vol->server_ino = 0; |
| 1404 | } else if (strnicmp(data, "rwpidforward", 4) == 0) { | 1404 | } else if (strnicmp(data, "rwpidforward", 12) == 0) { |
| 1405 | vol->rwpidforward = 1; | 1405 | vol->rwpidforward = 1; |
| 1406 | } else if (strnicmp(data, "cifsacl", 7) == 0) { | 1406 | } else if (strnicmp(data, "cifsacl", 7) == 0) { |
| 1407 | vol->cifs_acl = 1; | 1407 | vol->cifs_acl = 1; |
