cifs endianness fixes
authorAl Viro <viro@ftp.linux.org.uk>
Mon, 2 Jun 2008 09:59:02 +0000 (10:59 +0100)
committerLinus Torvalds <torvalds@linux-foundation.org>
Wed, 4 Jun 2008 15:06:01 +0000 (08:06 -0700)
__le16 fields used as host-endian.

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Acked-by: Steve French <smfrench@gmail.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
fs/cifs/cifssmb.c

index 9b8b4cf..fb655b4 100644 (file)
@@ -3927,9 +3927,9 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
        }
 
        ref = (struct dfs_referral_level_3 *) &(pSMBr->referrals);
-       if (ref->VersionNumber != 3) {
+       if (ref->VersionNumber != cpu_to_le16(3)) {
                cERROR(1, ("Referrals of V%d version are not supported,"
-                       "should be V3", ref->VersionNumber));
+                       "should be V3", le16_to_cpu(ref->VersionNumber)));
                rc = -EINVAL;
                goto parse_DFS_referrals_exit;
        }
@@ -3977,7 +3977,7 @@ parse_DFS_referrals(TRANSACTION2_GET_DFS_REFER_RSP *pSMBr,
                if (rc)
                        goto parse_DFS_referrals_exit;
 
-               ref += ref->Size;
+               ref += le16_to_cpu(ref->Size);
        }
 
 parse_DFS_referrals_exit: