Linux kernel source tree
Go to file
Pali Rohár e94e882a6d cifs: Fix negotiate retry functionality
SMB negotiate retry functionality in cifs_negotiate() is currently broken
and does not work when doing socket reconnect. Caller of this function,
which is cifs_negotiate_protocol() requires that tcpStatus after successful
execution of negotiate callback stay in CifsInNegotiate. But if the
CIFSSMBNegotiate() called from cifs_negotiate() fails due to connection
issues then tcpStatus is changed as so repeated CIFSSMBNegotiate() call
does not help.

Fix this problem by moving retrying code from negotiate callback (which is
either cifs_negotiate() or smb2_negotiate()) to cifs_negotiate_protocol()
which is caller of those callbacks. This allows to properly handle and
implement correct transistions between tcpStatus states as function
cifs_negotiate_protocol() already handles it.

With this change, cifs_negotiate_protocol() now handles also -EAGAIN error
set by the RFC1002_NEGATIVE_SESSION_RESPONSE processing after reconnecting
with NetBIOS session.

Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Steve French <stfrench@microsoft.com>
2025-04-01 01:54:17 -05:00
arch x86: don't re-generate cpufeaturemasks.h so eagerly 2025-03-31 14:19:55 -07:00
block for-6.15/block-20250322 2025-03-26 18:08:55 -07:00
certs sign-file,extract-cert: use pkcs11 provider for OPENSSL MAJOR >= 3 2024-09-20 19:52:48 +03:00
crypto This update includes the following changes: 2025-03-29 10:01:55 -07:00
Documentation NFSD 6.15 Release Notes 2025-03-31 17:28:17 -07:00
drivers Rust changes for v6.15 2025-03-30 17:03:26 -07:00
fs cifs: Fix negotiate retry functionality 2025-04-01 01:54:17 -05:00
include NFSD 6.15 Release Notes 2025-03-31 17:28:17 -07:00
init [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
io_uring for-6.15/io_uring-reg-vec-20250327 2025-03-28 15:07:04 -07:00
ipc treewide: const qualify ctl_tables where applicable 2025-01-28 13:48:37 +01:00
kernel ring-buffer updates for v6.15 2025-03-31 13:37:22 -07:00
lib Rust changes for v6.15 2025-03-30 17:03:26 -07:00
LICENSES LICENSES: add 0BSD license text 2024-09-01 20:43:24 -07:00
mm ring-buffer updates for v6.15 2025-03-31 13:37:22 -07:00
net NFSD 6.15 Release Notes 2025-03-31 17:28:17 -07:00
rust Rust changes for v6.15 2025-03-30 17:03:26 -07:00
samples Rust changes for v6.15 2025-03-30 17:03:26 -07:00
scripts Rust changes for v6.15 2025-03-30 17:03:26 -07:00
security bpf-next-6.15 2025-03-30 12:43:03 -07:00
sound drm for 6.15-rc1 2025-03-28 17:44:52 -07:00
tools perf tools changes for v6.15 2025-03-31 08:52:33 -07:00
usr kbuild: hdrcheck: fix cross build with clang 2025-03-05 04:06:45 +09:00
virt ARM: 2025-03-25 14:22:07 -07:00
.clang-format clang-format: Update with v6.11-rc1's for_each macro list 2024-08-02 13:20:31 +02:00
.clippy.toml rust: give Clippy the minimum supported Rust version 2025-01-10 00:17:25 +01:00
.cocciconfig
.editorconfig .editorconfig: remove trim_trailing_whitespace option 2024-06-13 16:47:52 +02:00
.get_maintainer.ignore MAINTAINERS: Retire Ralf Baechle 2024-11-12 15:48:59 +01:00
.gitattributes .gitattributes: set diff driver for Rust source code files 2023-05-31 17:48:25 +02:00
.gitignore rust: use host dylib naming convention to support macOS 2025-01-10 01:01:24 +01:00
.mailmap drm for 6.15-rc1 2025-03-28 17:44:52 -07:00
.rustfmt.toml rust: add .rustfmt.toml 2022-09-28 09:02:20 +02:00
COPYING
CREDITS drm for 6.15-rc1 2025-03-28 17:44:52 -07:00
Kbuild drm: ensure drm headers are self-contained and pass kernel-doc 2025-02-12 10:44:43 +02:00
Kconfig io_uring: Rename KConfig to Kconfig 2025-02-19 14:53:27 -07:00
MAINTAINERS 14 smb3/cifs client fixes and minor update to maintainers file 2025-03-31 17:38:34 -07:00
Makefile [ Merge note: this pull request depends on you having merged 2025-03-24 22:06:11 -07:00
README README: Fix spelling 2024-03-18 03:36:32 -06:00

Linux kernel
============

There are several guides for kernel developers and users. These guides can
be rendered in a number of formats, like HTML and PDF. Please read
Documentation/admin-guide/README.rst first.

In order to build the documentation, use ``make htmldocs`` or
``make pdfdocs``.  The formatted documentation can also be read online at:

    https://www.kernel.org/doc/html/latest/

There are various text files in the Documentation/ subdirectory,
several of them using the reStructuredText markup notation.

Please read the Documentation/process/changes.rst file, as it contains the
requirements for building and running the kernel, and information about
the problems which may result by upgrading your kernel.