diff options
| author | David Howells <dhowells@redhat.com> | 2025-12-17 15:09:39 +0000 |
|---|---|---|
| committer | Steve French <stfrench@microsoft.com> | 2026-02-08 17:07:45 -0600 |
| commit | efbe45cc035deb2ac6648b4fb8267241f3563efd (patch) | |
| tree | 63f2adbcdce7598f153f3bd6522cc2519868a043 /fs | |
| parent | 8a848efd482be65d488e888f96812d8729ea64ea (diff) | |
cifs: SMB1 split: Move BCC access functions
Move the BCC access functions to smb1proto.h as they're only applicable to
SMB1.
Signed-off-by: David Howells <dhowells@redhat.com>
cc: Steve French <sfrench@samba.org>
cc: Paulo Alcantara <pc@manguebit.org>
cc: Enzo Matsumiya <ematsumiya@suse.de>
cc: linux-cifs@vger.kernel.org
cc: linux-fsdevel@vger.kernel.org
cc: linux-kernel@vger.kernel.org
Acked-by: Enzo Matsumiya <ematsumiya@suse.de>
Signed-off-by: Steve French <stfrench@microsoft.com>
Diffstat (limited to 'fs')
| -rw-r--r-- | fs/smb/client/cifspdu.h | 34 | ||||
| -rw-r--r-- | fs/smb/client/smb1proto.h | 35 |
2 files changed, 34 insertions, 35 deletions
diff --git a/fs/smb/client/cifspdu.h b/fs/smb/client/cifspdu.h index de061247ecd7..78512af18d96 100644 --- a/fs/smb/client/cifspdu.h +++ b/fs/smb/client/cifspdu.h @@ -9,38 +9,4 @@ #ifndef _CIFSPDU_H #define _CIFSPDU_H -#include <linux/unaligned.h> -#include "../common/smb1pdu.h" - -#define GETU16(var) (*((__u16 *)var)) /* BB check for endian issues */ -#define GETU32(var) (*((__u32 *)var)) /* BB check for endian issues */ - -/* given a pointer to an smb_hdr, retrieve a void pointer to the ByteCount */ -static inline void * -BCC(struct smb_hdr *smb) -{ - return (void *)smb + sizeof(*smb) + 2 * smb->WordCount; -} - -/* given a pointer to an smb_hdr retrieve the pointer to the byte area */ -#define pByteArea(smb_var) (BCC(smb_var) + 2) - -/* get the unconverted ByteCount for a SMB packet and return it */ -static inline __u16 -get_bcc(struct smb_hdr *hdr) -{ - __le16 *bc_ptr = (__le16 *)BCC(hdr); - - return get_unaligned_le16(bc_ptr); -} - -/* set the ByteCount for a SMB packet in little-endian */ -static inline void -put_bcc(__u16 count, struct smb_hdr *hdr) -{ - __le16 *bc_ptr = (__le16 *)BCC(hdr); - - put_unaligned_le16(count, bc_ptr); -} - #endif /* _CIFSPDU_H */ diff --git a/fs/smb/client/smb1proto.h b/fs/smb/client/smb1proto.h index b11d13bfd2d1..921c9357b4ca 100644 --- a/fs/smb/client/smb1proto.h +++ b/fs/smb/client/smb1proto.h @@ -8,7 +8,8 @@ #ifndef _SMB1PROTO_H #define _SMB1PROTO_H -#include "cifspdu.h" +#include <linux/unaligned.h> +#include "../common/smb2pdu.h" struct cifs_unix_set_info_args { __u64 ctime; @@ -242,4 +243,36 @@ int checkSMB(char *buf, unsigned int pdu_len, unsigned int total_read, #endif /* CONFIG_CIFS_ALLOW_INSECURE_LEGACY */ + +#define GETU16(var) (*((__u16 *)var)) /* BB check for endian issues */ +#define GETU32(var) (*((__u32 *)var)) /* BB check for endian issues */ + +/* given a pointer to an smb_hdr, retrieve a void pointer to the ByteCount */ +static inline void * +BCC(struct smb_hdr *smb) +{ + return (void *)smb + sizeof(*smb) + 2 * smb->WordCount; +} + +/* given a pointer to an smb_hdr retrieve the pointer to the byte area */ +#define pByteArea(smb_var) (BCC(smb_var) + 2) + +/* get the unconverted ByteCount for a SMB packet and return it */ +static inline __u16 +get_bcc(struct smb_hdr *hdr) +{ + __le16 *bc_ptr = (__le16 *)BCC(hdr); + + return get_unaligned_le16(bc_ptr); +} + +/* set the ByteCount for a SMB packet in little-endian */ +static inline void +put_bcc(__u16 count, struct smb_hdr *hdr) +{ + __le16 *bc_ptr = (__le16 *)BCC(hdr); + + put_unaligned_le16(count, bc_ptr); +} + #endif /* _SMB1PROTO_H */ |
