Commit 06f609b3 authored by Jakub Kicinski's avatar Jakub Kicinski
Browse files


Cross-merge networking fixes after downstream PR.

No conflicts or adjacent changes.

Signed-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parents 91374ba5 ecb1b828
Loading
Loading
Loading
Loading

.editorconfig

0 → 100644
+32 −0
Original line number Diff line number Diff line
# SPDX-License-Identifier: GPL-2.0-only

root = true

[{*.{awk,c,dts,dtsi,dtso,h,mk,s,S},Kconfig,Makefile,Makefile.*}]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = tab
indent_size = 8

[*.{json,py,rs}]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = true
insert_final_newline = true
indent_style = space
indent_size = 4

# this must be below the general *.py to overwrite it
[tools/{perf,power,rcu,testing/kunit}/**.py,]
indent_style = tab
indent_size = 8

[*.yaml]
charset = utf-8
end_of_line = lf
trim_trailing_whitespace = unset
insert_final_newline = true
indent_style = space
indent_size = 2
+1 −0
Original line number Diff line number Diff line
@@ -96,6 +96,7 @@ modules.order
#
!.clang-format
!.cocciconfig
!.editorconfig
!.get_maintainer.ignore
!.gitattributes
!.gitignore
+21 −23
Original line number Diff line number Diff line
@@ -2,7 +2,8 @@
TODO
====

Version 2.14 December 21, 2018
As of 6.7 kernel. See https://wiki.samba.org/index.php/LinuxCIFSKernel
for list of features added by release

A Partial List of Missing Features
==================================
@@ -12,19 +13,19 @@ for visible, important contributions to this module. Here
is a partial list of the known problems and missing features:

a) SMB3 (and SMB3.1.1) missing optional features:
   multichannel performance optimizations, algorithmic channel selection,
   directory leases optimizations,
   support for faster packet signing (GMAC),
   support for compression over the network,
   T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl
   are currently the only two server side copy mechanisms supported)

   - multichannel (partially integrated), integration of multichannel with RDMA
   - directory leases (improved metadata caching). Currently only implemented for root dir
   - T10 copy offload ie "ODX" (copy chunk, and "Duplicate Extents" ioctl
     currently the only two server side copy mechanisms supported)
b) Better optimized compounding and error handling for sparse file support,
   perhaps addition of new optional SMB3.1.1 fsctls to make collapse range
   and insert range more atomic

b) improved sparse file support (fiemap and SEEK_HOLE are implemented
   but additional features would be supportable by the protocol such
   as FALLOC_FL_COLLAPSE_RANGE and FALLOC_FL_INSERT_RANGE)

c) Directory entry caching relies on a 1 second timer, rather than
   using Directory Leases, currently only the root file handle is cached longer
   by leveraging Directory Leases
c) Support for SMB3.1.1 over QUIC (and perhaps other socket based protocols
   like SCTP)

d) quota support (needs minor kernel change since quota calls otherwise
   won't make it to network filesystems or deviceless filesystems).
@@ -92,23 +93,20 @@ t) split cifs and smb3 support into separate modules so legacy (and less

v) Additional testing of POSIX Extensions for SMB3.1.1

w) Add support for additional strong encryption types, and additional spnego
   authentication mechanisms (see MS-SMB2).  GCM-256 is now partially implemented.
w) Support for the Mac SMB3.1.1 extensions to improve interop with Apple servers

x) Support for additional authentication options (e.g. IAKERB, peer-to-peer
   Kerberos, SCRAM and others supported by existing servers)

x) Finish support for SMB3.1.1 compression
y) Improved tracing, more eBPF trace points, better scripts for performance
   analysis

Known Bugs
==========

See https://bugzilla.samba.org - search on product "CifsVFS" for
current bug list.  Also check http://bugzilla.kernel.org (Product = File System, Component = CIFS)

1) existing symbolic links (Windows reparse points) are recognized but
   can not be created remotely. They are implemented for Samba and those that
   support the CIFS Unix extensions, although earlier versions of Samba
   overly restrict the pathnames.
2) follow_link and readdir code does not follow dfs junctions
   but recognizes them
and xfstest results e.g. https://wiki.samba.org/index.php/Xfstest-results-smb3

Misc testing to do
==================
+7 −1
Original line number Diff line number Diff line
@@ -81,7 +81,7 @@ much older and less secure than the default dialect SMB3 which includes
many advanced security features such as downgrade attack detection
and encrypted shares and stronger signing and authentication algorithms.
There are additional mount options that may be helpful for SMB3 to get
improved POSIX behavior (NB: can use vers=3.0 to force only SMB3, never 2.1):
improved POSIX behavior (NB: can use vers=3 to force SMB3 or later, never 2.1):

   ``mfsymlinks`` and either ``cifsacl`` or ``modefromsid`` (usually with ``idsfromsid``)

@@ -715,6 +715,7 @@ DebugData Displays information about active CIFS sessions and
Stats			Lists summary resource usage information as well as per
			share statistics.
open_files		List all the open file handles on all active SMB sessions.
mount_params            List of all mount parameters available for the module
======================= =======================================================

Configuration pseudo-files:
@@ -864,6 +865,11 @@ i.e.::

    echo "value" > /sys/module/cifs/parameters/<param>

More detailed descriptions of the available module parameters and their values
can be seen by doing:

    modinfo cifs (or modinfo smb3)

================= ==========================================================
1. enable_oplocks Enable or disable oplocks. Oplocks are enabled by default.
		  [Y/y/1]. To disable use any of [N/n/0].
+13 −11
Original line number Diff line number Diff line
@@ -888,9 +888,9 @@
			memory region [offset, offset + size] for that kernel
			image. If '@offset' is omitted, then a suitable offset
			is selected automatically.
			[KNL, X86-64, ARM64, RISCV] Select a region under 4G first, and
			fall back to reserve region above 4G when '@offset'
			hasn't been specified.
			[KNL, X86-64, ARM64, RISCV, LoongArch] Select a region
			under 4G first, and fall back to reserve region above
			4G when '@offset' hasn't been specified.
			See Documentation/admin-guide/kdump/kdump.rst for further details.

	crashkernel=range1:size1[,range2:size2,...][@offset]
@@ -901,25 +901,27 @@
			Documentation/admin-guide/kdump/kdump.rst for an example.

	crashkernel=size[KMG],high
			[KNL, X86-64, ARM64, RISCV] range could be above 4G.
			[KNL, X86-64, ARM64, RISCV, LoongArch] range could be
			above 4G.
			Allow kernel to allocate physical memory region from top,
			so could be above 4G if system have more than 4G ram
			installed. Otherwise memory region will be allocated
			below 4G, if available.
			It will be ignored if crashkernel=X is specified.
	crashkernel=size[KMG],low
			[KNL, X86-64, ARM64, RISCV] range under 4G. When crashkernel=X,high
			is passed, kernel could allocate physical memory region
			above 4G, that cause second kernel crash on system
			that require some amount of low memory, e.g. swiotlb
			requires at least 64M+32K low memory, also enough extra
			low memory is needed to make sure DMA buffers for 32-bit
			devices won't run out. Kernel would try to allocate
			[KNL, X86-64, ARM64, RISCV, LoongArch] range under 4G.
			When crashkernel=X,high is passed, kernel could allocate
			physical memory region above 4G, that cause second kernel
			crash on system that require some amount of low memory,
			e.g. swiotlb requires at least 64M+32K low memory, also
			enough extra low memory is needed to make sure DMA buffers
			for 32-bit devices won't run out. Kernel would try to allocate
			default	size of memory below 4G automatically. The default
			size is	platform dependent.
			  --> x86: max(swiotlb_size_or_default() + 8MiB, 256MiB)
			  --> arm64: 128MiB
			  --> riscv: 128MiB
			  --> loongarch: 128MiB
			This one lets the user specify own low range under 4G
			for second kernel instead.
			0: to disable low allocation.
Loading