lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CAH2r5mvcFOYP-Mc5QzoaNoPYP0yiZQThT0c668APRK8y=FNUMw@mail.gmail.com>
Date: Sun, 12 Oct 2025 22:15:07 -0500
From: Steve French <smfrench@...il.com>
To: chenxiaosong@...nxiaosong.com
Cc: stfrench@...rosoft.com, metze@...ba.org, pali@...nel.org, 
	linkinjeon@...nel.org, sfrench@...ba.org, senozhatsky@...omium.org, 
	tom@...pey.com, pc@...guebit.org, ronniesahlberg@...il.com, 
	sprasad@...rosoft.com, bharathsm@...rosoft.com, zhangguodong@...inos.cn, 
	linux-cifs@...r.kernel.org, linux-kernel@...r.kernel.org, 
	ChenXiaoSong <chenxiaosong@...inos.cn>
Subject: Re: [PATCH v2 03/22] smb: move some duplicate definitions to common/cifsglob.h

tentatively merged into cifs-2.6.git pending testing and any
additional review feedback

On Sun, Oct 12, 2025 at 11:18 AM <chenxiaosong@...nxiaosong.com> wrote:
>
> From: ZhangGuoDong <zhangguodong@...inos.cn>
>
> In order to maintain the code more easily, move duplicate definitions to
> new common header file.
>
> Co-developed-by: ChenXiaoSong <chenxiaosong@...inos.cn>
> Signed-off-by: ChenXiaoSong <chenxiaosong@...inos.cn>
> Signed-off-by: ZhangGuoDong <zhangguodong@...inos.cn>
> ---
>  fs/smb/client/cifsglob.h   | 19 +------------------
>  fs/smb/common/cifsglob.h   | 30 ++++++++++++++++++++++++++++++
>  fs/smb/server/smb_common.h | 14 +-------------
>  3 files changed, 32 insertions(+), 31 deletions(-)
>  create mode 100644 fs/smb/common/cifsglob.h
>
> diff --git a/fs/smb/client/cifsglob.h b/fs/smb/client/cifsglob.h
> index 8f6f567d7474..c5034cf9ac9e 100644
> --- a/fs/smb/client/cifsglob.h
> +++ b/fs/smb/client/cifsglob.h
> @@ -24,6 +24,7 @@
>  #include "cifsacl.h"
>  #include <crypto/internal/hash.h>
>  #include <uapi/linux/cifs/cifs_mount.h>
> +#include "../common/cifsglob.h"
>  #include "../common/smb2pdu.h"
>  #include "smb2pdu.h"
>  #include <linux/filelock.h>
> @@ -702,12 +703,6 @@ get_rfc1002_length(void *buf)
>         return be32_to_cpu(*((__be32 *)buf)) & 0xffffff;
>  }
>
> -static inline void
> -inc_rfc1001_len(void *buf, int count)
> -{
> -       be32_add_cpu((__be32 *)buf, count);
> -}
> -
>  struct TCP_Server_Info {
>         struct list_head tcp_ses_list;
>         struct list_head smb_ses_list;
> @@ -1021,8 +1016,6 @@ compare_mid(__u16 mid, const struct smb_hdr *smb)
>  #define CIFS_MAX_RFC1002_WSIZE ((1<<17) - 1 - sizeof(WRITE_REQ) + 4)
>  #define CIFS_MAX_RFC1002_RSIZE ((1<<17) - 1 - sizeof(READ_RSP) + 4)
>
> -#define CIFS_DEFAULT_IOSIZE (1024 * 1024)
> -
>  /*
>   * Windows only supports a max of 60kb reads and 65535 byte writes. Default to
>   * those values when posix extensions aren't in force. In actuality here, we
> @@ -2148,30 +2141,20 @@ extern mempool_t cifs_io_request_pool;
>  extern mempool_t cifs_io_subrequest_pool;
>
>  /* Operations for different SMB versions */
> -#define SMB1_VERSION_STRING    "1.0"
> -#define SMB20_VERSION_STRING    "2.0"
>  #ifdef CONFIG_CIFS_ALLOW_INSECURE_LEGACY
>  extern struct smb_version_operations smb1_operations;
>  extern struct smb_version_values smb1_values;
>  extern struct smb_version_operations smb20_operations;
>  extern struct smb_version_values smb20_values;
>  #endif /* CIFS_ALLOW_INSECURE_LEGACY */
> -#define SMB21_VERSION_STRING   "2.1"
>  extern struct smb_version_operations smb21_operations;
>  extern struct smb_version_values smb21_values;
> -#define SMBDEFAULT_VERSION_STRING "default"
>  extern struct smb_version_values smbdefault_values;
> -#define SMB3ANY_VERSION_STRING "3"
>  extern struct smb_version_values smb3any_values;
> -#define SMB30_VERSION_STRING   "3.0"
>  extern struct smb_version_operations smb30_operations;
>  extern struct smb_version_values smb30_values;
> -#define SMB302_VERSION_STRING  "3.02"
> -#define ALT_SMB302_VERSION_STRING "3.0.2"
>  /*extern struct smb_version_operations smb302_operations;*/ /* not needed yet */
>  extern struct smb_version_values smb302_values;
> -#define SMB311_VERSION_STRING  "3.1.1"
> -#define ALT_SMB311_VERSION_STRING "3.11"
>  extern struct smb_version_operations smb311_operations;
>  extern struct smb_version_values smb311_values;
>
> diff --git a/fs/smb/common/cifsglob.h b/fs/smb/common/cifsglob.h
> new file mode 100644
> index 000000000000..00fd215e3eb5
> --- /dev/null
> +++ b/fs/smb/common/cifsglob.h
> @@ -0,0 +1,30 @@
> +/* SPDX-License-Identifier: LGPL-2.1 */
> +/*
> + *
> + *   Copyright (C) International Business Machines  Corp., 2002,2008
> + *   Author(s): Steve French (sfrench@...ibm.com)
> + *              Jeremy Allison (jra@...ba.org)
> + *
> + */
> +#ifndef _COMMON_CIFS_GLOB_H
> +#define _COMMON_CIFS_GLOB_H
> +
> +static inline void inc_rfc1001_len(void *buf, int count)
> +{
> +       be32_add_cpu((__be32 *)buf, count);
> +}
> +
> +#define SMB1_VERSION_STRING    "1.0"
> +#define SMB20_VERSION_STRING    "2.0"
> +#define SMB21_VERSION_STRING   "2.1"
> +#define SMBDEFAULT_VERSION_STRING "default"
> +#define SMB3ANY_VERSION_STRING "3"
> +#define SMB30_VERSION_STRING   "3.0"
> +#define SMB302_VERSION_STRING  "3.02"
> +#define ALT_SMB302_VERSION_STRING "3.0.2"
> +#define SMB311_VERSION_STRING  "3.1.1"
> +#define ALT_SMB311_VERSION_STRING "3.11"
> +
> +#define CIFS_DEFAULT_IOSIZE (1024 * 1024)
> +
> +#endif /* _COMMON_CIFS_GLOB_H */
> diff --git a/fs/smb/server/smb_common.h b/fs/smb/server/smb_common.h
> index d742ba754348..863716207a0d 100644
> --- a/fs/smb/server/smb_common.h
> +++ b/fs/smb/server/smb_common.h
> @@ -10,6 +10,7 @@
>
>  #include "glob.h"
>  #include "nterr.h"
> +#include "../common/cifsglob.h"
>  #include "../common/smb2pdu.h"
>  #include "smb2pdu.h"
>
> @@ -26,16 +27,8 @@
>  #define SMB311_PROT            6
>  #define BAD_PROT               0xFFFF
>
> -#define SMB1_VERSION_STRING    "1.0"
> -#define SMB20_VERSION_STRING   "2.0"
> -#define SMB21_VERSION_STRING   "2.1"
> -#define SMB30_VERSION_STRING   "3.0"
> -#define SMB302_VERSION_STRING  "3.02"
> -#define SMB311_VERSION_STRING  "3.1.1"
> -
>  #define SMB_ECHO_INTERVAL      (60 * HZ)
>
> -#define CIFS_DEFAULT_IOSIZE    (64 * 1024)
>  #define MAX_CIFS_SMALL_BUFFER_SIZE 448 /* big enough for most */
>
>  #define MAX_STREAM_PROT_LEN    0x00FFFFFF
> @@ -464,9 +457,4 @@ static inline unsigned int get_rfc1002_len(void *buf)
>  {
>         return be32_to_cpu(*((__be32 *)buf)) & 0xffffff;
>  }
> -
> -static inline void inc_rfc1001_len(void *buf, int count)
> -{
> -       be32_add_cpu((__be32 *)buf, count);
> -}
>  #endif /* __SMB_COMMON_H__ */
> --
> 2.43.0
>


-- 
Thanks,

Steve

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ