diff options
author | Jeff Layton <jlayton@redhat.com> | 2014-02-23 04:35:38 +0400 |
---|---|---|
committer | Steve French <smfrench@gmail.com> | 2014-03-01 00:01:14 +0400 |
commit | dca1c8d17a2feae056f9e334ea75a462ae4cb52a (patch) | |
tree | e385849f0ad8c95af05d23b7a84dd5ca0bdad32b /fs | |
parent | a26054d184763969a411e3939fe243516715ff59 (diff) | |
download | linux-dca1c8d17a2feae056f9e334ea75a462ae4cb52a.tar.xz |
cifs: mask off top byte in get_rfc1002_length()
The rfc1002 length actually includes a type byte, which we aren't
masking off. In most cases, it's not a problem since the
RFC1002_SESSION_MESSAGE type is 0, but when doing a RFC1002 session
establishment, the type is non-zero and that throws off the returned
length.
Signed-off-by: Jeff Layton <jlayton@redhat.com>
Tested-by: Sachin Prabhu <sprabhu@redhat.com>
Signed-off-by: Steve French <smfrench@gmail.com>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/cifs/cifsglob.h | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/cifs/cifsglob.h b/fs/cifs/cifsglob.h index cf32f0393369..c0f3718b77a8 100644 --- a/fs/cifs/cifsglob.h +++ b/fs/cifs/cifsglob.h @@ -513,7 +513,7 @@ struct cifs_mnt_data { static inline unsigned int get_rfc1002_length(void *buf) { - return be32_to_cpu(*((__be32 *)buf)); + return be32_to_cpu(*((__be32 *)buf)) & 0xffffff; } static inline void |