Message ID | CAH2r5mu+P1n18+EgdzqB_FmcEWXoaEqacqa6osKHtb05B1bBbQ@mail.gmail.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | cifs: Fix endian types in struct rfc1002_session_packet | expand |
On Sunday 19 January 2025 13:21:39 Steve French wrote: > > 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> > > Do you have a link to the kernel bot reported by (email?) I should have it somewhere in my mailbox. I if needed I can try to find it. But robot reported this issue for my own branch (not the master one). So I though that it is not important to mention exact link for some of my change which was work-in-progress. In any case, robot found the issue with incorrect endianity types, so I wanted to give credits for this robot. Anyway, those type changes should not change compiled code, just allows code analysis tool to diagnose other issues.
From bbd8ad0d8994d448aa12e9df5fe23e5847729909 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pali=20Roh=C3=A1r?= <pali@kernel.org> Date: Wed, 25 Dec 2024 15:54:22 +0100 Subject: [PATCH 29/71] cifs: Fix endian types in struct rfc1002_session_packet MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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> --- fs/smb/client/rfc1002pdu.h | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/fs/smb/client/rfc1002pdu.h b/fs/smb/client/rfc1002pdu.h index ae1d025da294..ac82c2f3a4a2 100644 --- a/fs/smb/client/rfc1002pdu.h +++ b/fs/smb/client/rfc1002pdu.h @@ -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. -- 2.43.0