fs/smb/client/Kconfig

Source file repositories/reference/linux-study-clean/fs/smb/client/Kconfig

File Facts

System
Linux kernel
Corpus path
fs/smb/client/Kconfig
Extension
[no extension]
Size
8468 bytes
Lines
233
Domain
Core OS
Bucket
VFS And Filesystem Core
Inferred role
Core OS: build/configuration rule
Status
atlas-only

Why This File Exists

Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.

Dependency Surface

Detected Declarations

Annotated Snippet

# SPDX-License-Identifier: GPL-2.0-only
config CIFS
	tristate "SMB3 and CIFS support (advanced network filesystem)"
	depends on INET
	select NLS
	select NLS_UCS2_UTILS
	select CRYPTO
	select CRYPTO_AEAD2
	select CRYPTO_CCM
	select CRYPTO_GCM
	select CRYPTO_AES
	select CRYPTO_LIB_AES_CBC_MACS
	select CRYPTO_LIB_ARC4
	select CRYPTO_LIB_MD5
	select CRYPTO_LIB_SHA256
	select CRYPTO_LIB_SHA512
	select KEYS
	select DNS_RESOLVER
	select ASN1
	select OID_REGISTRY
	select NETFS_SUPPORT
	help
	  This is the client VFS module for the SMB3 family of network file
	  protocols (including the most recent, most secure dialect SMB3.1.1).
	  This module also includes support for earlier dialects such as
	  SMB2.1, SMB2 and even the old Common Internet File System (CIFS)
	  protocol.  CIFS was the successor to the original network filesystem
	  protocol, Server Message Block (SMB ie SMB1), the native file sharing
	  mechanism for most early PC operating systems.

	  The SMB3.1.1 protocol is supported by most modern operating systems
	  and NAS appliances (e.g. Samba, Windows 11, Windows Server 2022,
	  MacOS) and even in the cloud (e.g. Microsoft Azure) and also by the
	  Linux kernel server, ksmbd.  Support for the older CIFS protocol was
	  included in Windows NT4, 2000 and XP (and later). Use of dialects
	  older than SMB2.1 is often discouraged on public networks.
	  This module also provides limited support for OS/2 and Windows ME
	  and similar very old servers.

	  This module provides an advanced network file system client for
	  mounting to SMB3 (and CIFS) compliant servers.  It includes support
	  for DFS (hierarchical name space), secure per-user session
	  establishment via Kerberos or NTLMv2, RDMA (smbdirect), advanced
	  security features, per-share encryption, packet-signing, snapshots,
	  directory leases, safe distributed caching (leases), multichannel,
	  Unicode and other internationalization improvements.

	  In general, the default dialects, SMB3 and later, enable better
	  performance, security and features, than would be possible with CIFS.

	  If you need to mount to Samba, Azure, ksmbd, Macs or Windows from this
	  machine, say Y.

config CIFS_STATS2
	bool "Extended statistics"
	depends on CIFS
	default y
	help
	  Enabling this option will allow more detailed statistics on SMB
	  request timing to be displayed in /proc/fs/cifs/DebugData and also
	  allow optional logging of slow responses to dmesg (depending on the
	  value of /proc/fs/cifs/cifsFYI). See Documentation/admin-guide/cifs/usage.rst
	  for more details. These additional statistics may have a minor effect
	  on performance and memory utilization.

	  If unsure, say Y.

config CIFS_ALLOW_INSECURE_LEGACY
	bool "Support legacy servers which use less secure dialects"
	depends on CIFS

Annotation

Implementation Notes