Message ID | 1314461920-6116-1-git-send-email-piastry@etersoft.ru (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2011/8/27 Pavel Shilovsky <piastry@etersoft.ru>: > 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> > --- > 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 633c246..f4af4cc 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, > /* ignore */ > } else if (strnicmp(data, "guest", 5) == 0) { > /* ignore */ > - } else if (strnicmp(data, "rw", 2) == 0) { > + } else if (strnicmp(data, "rw", 2) == 0 && strlen(data) == 2) { > /* ignore */ > } else if (strnicmp(data, "ro", 2) == 0) { > /* ignore */ > @@ -1401,7 +1401,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, > vol->server_ino = 1; > } else if (strnicmp(data, "noserverino", 9) == 0) { > vol->server_ino = 0; > - } else if (strnicmp(data, "rwpidforward", 4) == 0) { > + } else if (strnicmp(data, "rwpidforward", 12) == 0) { > vol->rwpidforward = 1; > } else if (strnicmp(data, "cifsacl", 7) == 0) { > vol->cifs_acl = 1; > -- > 1.7.1 > > Sorry for the spam - forgot to change the patch version.
diff --git a/fs/cifs/connect.c b/fs/cifs/connect.c index 633c246..f4af4cc 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, /* ignore */ } else if (strnicmp(data, "guest", 5) == 0) { /* ignore */ - } else if (strnicmp(data, "rw", 2) == 0) { + } else if (strnicmp(data, "rw", 2) == 0 && strlen(data) == 2) { /* ignore */ } else if (strnicmp(data, "ro", 2) == 0) { /* ignore */ @@ -1401,7 +1401,7 @@ cifs_parse_mount_options(const char *mountdata, const char *devname, vol->server_ino = 1; } else if (strnicmp(data, "noserverino", 9) == 0) { vol->server_ino = 0; - } else if (strnicmp(data, "rwpidforward", 4) == 0) { + } else if (strnicmp(data, "rwpidforward", 12) == 0) { vol->rwpidforward = 1; } else if (strnicmp(data, "cifsacl", 7) == 0) { vol->cifs_acl = 1;
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> --- fs/cifs/connect.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-)