diff options
author | Paulo Alcantara <pc@cjr.nz> | 2022-03-21 13:08:25 -0300 |
---|---|---|
committer | Steve French <stfrench@microsoft.com> | 2022-03-23 15:20:14 -0500 |
commit | 351a59dace0e0e31795145acdec2660e3bc2a58d (patch) | |
tree | dc40b8f472dec34f31c33cf994a6c84ba5086cd8 /fs/cifs/smb2misc.c | |
parent | 8708b107604789dbb25057981919c7709828db16 (diff) | |
download | linux-351a59dace0e0e31795145acdec2660e3bc2a58d.tar.bz2 |
cifs: fix bad fids sent over wire
The client used to partially convert the fids to le64, while storing
or sending them by using host endianness. This broke the client on
big-endian machines. Instead of converting them to le64, store them
as opaque integers and then avoid byteswapping when sending them over
wire.
Signed-off-by: Paulo Alcantara (SUSE) <pc@cjr.nz>
Reviewed-by: Namjae Jeon <linkinjeon@kernel.org>
Reviewed-by: Tom Talpey <tom@talpey.com>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs/cifs/smb2misc.c')
-rw-r--r-- | fs/cifs/smb2misc.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/fs/cifs/smb2misc.c b/fs/cifs/smb2misc.c index b25623e3fe3d..3b7c636be377 100644 --- a/fs/cifs/smb2misc.c +++ b/fs/cifs/smb2misc.c @@ -832,8 +832,8 @@ smb2_handle_cancelled_mid(struct mid_q_entry *mid, struct TCP_Server_Info *serve rc = __smb2_handle_cancelled_cmd(tcon, le16_to_cpu(hdr->Command), le64_to_cpu(hdr->MessageId), - le64_to_cpu(rsp->PersistentFileId), - le64_to_cpu(rsp->VolatileFileId)); + rsp->PersistentFileId, + rsp->VolatileFileId); if (rc) cifs_put_tcon(tcon); |