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-next>] [day] [month] [year] [list]
Message-ID: <CAH2r5mupDphsriFvcC_Hh0dWaDWdyAKNk1xKwEts7mfm3K5ESw@mail.gmail.com>
Date:   Tue, 20 Dec 2022 15:49:40 -0600
From:   Steve French <smfrench@...il.com>
To:     Linus Torvalds <torvalds@...ux-foundation.org>
Cc:     Paulo Alcantara <pc@....nz>, CIFS <linux-cifs@...r.kernel.org>,
        LKML <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] smb3 client fixes

Please pull the following changes since commit
851f657a86421dded42b6175c6ea0f4f5e86af97:

  Merge tag '6.2-rc-smb3-client-fixes-part1' of
git://git.samba.org/sfrench/cifs-2.6 (2022-12-15 14:53:14 -0800)

are available in the Git repository at:

  git://git.samba.org/sfrench/cifs-2.6.git tags/6.2-rc-smb3-client-fixes-part2

for you to fetch changes up to aacfc939cc42293fbcfe113040b4e8abaef68429:

  cifs: update internal module number (2022-12-19 08:04:50 -0600)

As mentioned in the earlier smb3 client P/R, last week we were still
testing various additional important fixes: a series of DFS and reconnect
fixes from Paulo, which are now included in this P/R
----------------------------------------------------------------
20 cifs/smb3 client fixes, mostly related to reconnect and/or DFS

- two important reconnect fixes: cases where status of recently connected IPCs
and shares were not being updated leaving them in an incorrect state
- fix for older Windows servers that would return STATUS_OBJECT_NAME_INVALID
to query info requests on DFS links in a namespace that contained non-ASCII
characters, reducing number of wasted roundtrips.
- fix for leaked -ENOMEM to userspace when cifs.ko couldn't perform I/O due
to a disconnected server, expired or deleted session.
- removal of all unneeded DFS related mount option string parsing (now using
fs_context for automounts)
-improve clarity/readability, moving various DFS related functions out
of fs/cifs/connect.c
(which was getting too big to be readable) to new file.
- Fix problem when large number of DFS connections.  Allow sharing of DFS
connections and fix how the referral paths are matched
- Referral caching fix: Instead of looking up ipc connections to
refresh cached referrals,
store direct dfs root server's IPC pointer in new sessions so can
simply access it to
either refresh or create a new referral that such connections belong to.
- Fix to allow dfs root server's connections to also failover
- Optimized reconnect of nested DFS links
- Set correct status of IPC connections marked for reconnect
----------------------------------------------------------------
Paulo Alcantara (19):
      cifs: set correct tcon status after initial tree connect
      cifs: set correct ipc status after initial tree connect
      cifs: reduce roundtrips on create/qinfo requests
      cifs: use fs_context for automounts
      cifs: get rid of mount options string parsing
      cifs: remove unused smb3_fs_context::mount_options
      cifs: set resolved ip in sockaddr
      cifs: split out ses and tcon retrieval from mount_get_conns()
      cifs: share dfs connections and supers
      cifs: don't refresh cached referrals from unactive mounts
      cifs: fix refresh of cached referrals
      cifs: refresh root referrals
      cifs: don't block in dfs_cache_noreq_update_tgthint()
      cifs: fix confusing debug message
      cifs: fix source pathname comparison of dfs supers
      cifs: optimize reconnect of nested links
      cifs: set correct status of tcon ipc when reconnecting
      cifs: use origin fullpath for automounts
      cifs: don't leak -ENOMEM in smb2_open_file()

Steve French (1):
      cifs: update internal module number

 fs/cifs/Makefile       |   2 +-
 fs/cifs/cifs_debug.c   |   8 +
 fs/cifs/cifs_dfs_ref.c | 255 +++++++-------------------------
 fs/cifs/cifsfs.c       |   6 -
 fs/cifs/cifsfs.h       |   4 +-
 fs/cifs/cifsglob.h     |  18 ++-
 fs/cifs/cifsproto.h    |  14 +-
 fs/cifs/connect.c      | 899
++++++++++++++++++---------------------------------------------------------------------------------------------
 fs/cifs/dfs.c          | 544
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 fs/cifs/dfs.h          |  46 ++++++
 fs/cifs/dfs_cache.c    | 276 +++++++---------------------------
 fs/cifs/dfs_cache.h    |   2 +-
 fs/cifs/dir.c          |  21 ++-
 fs/cifs/dns_resolve.c  |  49 +++---
 fs/cifs/dns_resolve.h  |   4 +-
 fs/cifs/fs_context.c   |  13 +-
 fs/cifs/fs_context.h   |   3 +-
 fs/cifs/inode.c        |   6 -
 fs/cifs/misc.c         |  81 ++--------
 fs/cifs/smb2file.c     |   4 +-
 fs/cifs/smb2inode.c    |  46 ++++--
 fs/cifs/smb2ops.c      |  28 +++-
 22 files changed, 991 insertions(+), 1338 deletions(-)
 create mode 100644 fs/cifs/dfs.c
 create mode 100644 fs/cifs/dfs.h


-- 
Thanks,

Steve

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ