Commit 4e1b4fdf6113 for kernel

commit 4e1b4fdf6113b4eb9564bdf3b76ee3c3132da7d4
Merge: 9e089e670e9a 2c36c4a86104
Author: Linus Torvalds <torvalds@linux-foundation.org>
Date:   Sun Oct 25 15:47:41 2026 -1000

    Merge tag 'ksmbd-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb

    Pull smb server updates from Namjae Jeon:

     - Add extended SMB2 directory information support.

       Implement FileIdExtdDirectoryInformation, FileId64ExtdDirectoryInformation,
       FileId64ExtdBothDirectoryInformation, FileIdAllExtdDirectoryInformation,
       and FileIdAllExtdBothDirectoryInformation, including reparse tags, file
       attributes, and initialized response padding.

     - Track unsigned 64-bit lock ranges in the server lock index, with
       conflict detection, blocking waits, cancellation, rollback, and
       cleanup for ranges beyond the VFS signed-offset limit.

     - Add configurable per-connection session limits.

       Reserve slots for new sessions and multichannel bindings, release
       them during failure and cleanup, and expose the configured limit
       through procfs.

     - Validate POSIX negotiate and CREATE contexts, including payload
       lengths, extension tags, duplicate contexts, dialect
       requirements, and share eligibility. Require POSIX opens for
       POSIX file, directory, and filesystem information queries.

     - Apply requested POSIX create modes, including mode zero, and NFS
       mode ACEs with special permission bits. Enforce append-only
       writes and base byte-range lock checks on each open's POSIX
       state.

     - Complete POSIX metadata responses with filenames, file types,
       permission bits, and filesystem device identifiers. Query
       filesystem information through the requested open and report the
       filesystem fragment size and response length.

     - Validate SMB3 encryption transform flags and ensure decrypted
       compound requests use the session authenticated by the transform,
       including requests containing compressed payloads.

     - Serialize negotiation with receive processing, size CREATE
       responses for their contexts, reserve UTF-16 terminator space in
       stream information, and validate WRITE data against the active
       compound request to prevent buffer overruns and stale-data
       writes.

     - Validate security descriptor offsets before pointer arithmetic,
       handle DACL offset overflow on 32-bit systems, and propagate
       inode ACL lookup failures safely.

     - Deny access through empty DACLs while retaining the owner's
       implicit security-management rights. Add KUnit regression
       coverage for DACL walk boundaries and maximal-access
       calculations.

     - Validate RPC pipe ownership for IPC$ reads and writes, and fix
       FSCTL_PIPE_TRANSCEIVE handle lookup and response file IDs.

     - Fix durable reconnect path validation for symlinked share paths,
       shares exporting "/", and handles opened at the share root. Check
       path boundaries before comparisons to prevent out-of-bounds reads
       and cross-share confusion.

     - Rebind completed durable CREATE replays to surviving channels
       without draining unrelated requests on the old channel. Transfer
       open accounting with the binding and avoid consuming additional
       open-file budget during durable reconnects.

     - Scope AppInstanceId takeovers to the matching share, path,
       stream, and client identity. Check access and AppInstanceVersion
       before closing an existing open.

     - Retry oplock and lease break notifications through other live
       channels, track queued TCP delivery, serialize acknowledgment
       updates, and expire unacknowledged breaks while waking blocked
       requests.

     - Keep lease tables and byte-range lock indexes independent of
       their original connection so surviving channels and detached
       durable opens retain access to lease and lock state.

     - Reclaim ended sessions after logoff and expiration, hold
       connection references for session channels, and drain procfs
       readers before releasing session table references. Avoid
       deadlocks during previous-session teardown and connection
       scavenging.

     - Prevent file publication after tree disconnect and retain tree
       references until final file release. Take parent dentry
       references during directory enumeration and serialize directory
       emptiness checks with readdir.

     - Prevent share-root removal through empty removal paths and return
       appropriate errors for directory zero-data requests and temporary
       directory attributes.

     - Fix named-stream writes, EOF changes, end-of-file reads, and
       content copying into rename targets. Reuse existing xattr names,
       report sizes by exact xattr name, and avoid emptying streams
       after lookup or permission failures.

     - Round allocation requests to the advertised allocation unit and
       avoid allocation changes that leave on-disk EOF inconsistent with
       the in-memory size.

     - Inherit FileIds across related compound requests, including
       CHANGE_NOTIFY, and use the existing async request machinery for
       notify waiting and cancellation.

     - Restore share configuration and Kerberos authentication
       compatibility with released ksmbd-tools. Advertise extended
       session security for raw NTLMSSP when requested by the client.

     - Improve Windows chained-compression compatibility, synthesized
       AFP_AfpInfo headers, generated short names, and UTF-16 alignment
       in partial normalized-name responses.

     - Fix interface-query locking, response chaining, link-speed
       reporting, and independent IPv4/IPv6 address enumeration. Display
       native IPv6 client addresses accurately in procfs.

     - Improve SMB Direct socket cleanup by reclaiming failed pending
       connections, skipping failed sockets during accept, avoiding
       indefinite disconnect waits, and handling unexpected receive
       opcodes without triggering kernel warnings.

     - Select CRYPTO_AES for SMB3 encryption, replace deprecated system
       workqueues, and update feature status documentation and POSIX
       specification references.

    * tag 'ksmbd-for-7.4-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/linkinjeon/smb: (95 commits)
      ksmbd: select CRYPTO_AES
      ksmbd: prevent share root removal through empty paths
      ksmbd: serialize directory emptiness checks with readdir
      ksmbd: fix parent dentry lifetime in directory enumeration
      smb/server: prevent file publication after tree disconnect
      ksmbd: restore Kerberos logins with released ksmbd-tools
      smb/server: replace deprecated system workqueues
      ksmbd: reject FILE_ATTRIBUTE_TEMPORARY on directories
      ksmbd: deny access for an empty DACL instead of granting the request
      ksmbd: reject foreign RPC pipe handles on IPC$ read and write
      ksmbd: fix fd_limit accounting across durable reconnects
      ksmbd: drain session procfs readers before dropping table references
      ksmbd: reclaim ended sessions on logoff and expiration
      ksmbd: limit sessions on each connection
      ksmbd: hold a connection reference for each session channel
      ksmbd: defer connection scavenging while session locks are busy
      ksmbd: accept share config responses from ksmbd-tools before 3.5.3
      ksmbd: round SetAllocation to the advertised allocation unit
      ksmbd: avoid restoring only in-memory EOF after allocation change
      ksmbd: inherit FileIds in related compound requests
      ...