]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
cifs: Fix endian types in struct rfc1002_session_packet
authorPali Rohár <pali@kernel.org>
Wed, 25 Dec 2024 14:54:22 +0000 (15:54 +0100)
committerSteve French <stfrench@microsoft.com>
Mon, 20 Jan 2025 01:34:00 +0000 (19:34 -0600)
All fields in struct rfc1002_session_packet are in big endian. This is
because all NetBIOS packet headers are in big endian as opposite of SMB
structures which are in little endian.

Therefore use __be16 and __be32 types instead of __u16 and __u32 in
struct rfc1002_session_packet.

Reported-by: kernel test robot <lkp@intel.com>
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
fs/smb/client/rfc1002pdu.h

index ae1d025da294a81c67d17f86cb5c1ca390f92056..ac82c2f3a4a28c198ef35b0be0ee81f604e1f5f7 100644 (file)
@@ -24,7 +24,7 @@
 struct rfc1002_session_packet {
        __u8    type;
        __u8    flags;
-       __u16   length;
+       __be16  length;
        union {
                struct {
                        __u8 called_len;
@@ -35,8 +35,8 @@ struct rfc1002_session_packet {
                        __u8 scope2; /* null */
                } __attribute__((packed)) session_req;
                struct {
-                       __u32 retarget_ip_addr;
-                       __u16 port;
+                       __be32 retarget_ip_addr;
+                       __be16 port;
                } __attribute__((packed)) retarget_resp;
                __u8 neg_ses_resp_error_code;
                /* POSITIVE_SESSION_RESPONSE packet does not include trailer.