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]
Date:   Tue, 29 Mar 2022 19:36:00 +0000
From:   Trond Myklebust <trondmy@...merspace.com>
To:     "torvalds@...ux-foundation.org" <torvalds@...ux-foundation.org>
CC:     "linux-nfs@...r.kernel.org" <linux-nfs@...r.kernel.org>,
        "linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: [GIT PULL] Please pull NFS client changes for Linux 5.18

Hi Linus,

The following changes since commit 53ab78cd6d5aba25575a7cfb95729336ba9497d8:

  Merge tag 'clk-fixes-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/clk/linux (2022-02-24 17:35:22 -0800)

are available in the Git repository at:

  git://git.linux-nfs.org/projects/trondmy/linux-nfs.git tags/nfs-for-5.18-1

for you to fetch changes up to 7c9d845f0612e5bcd23456a2ec43be8ac43458f1:

  NFSv4/pNFS: Fix another issue with a list iterator pointing to the head (2022-03-28 08:36:34 -0400)

Please note that Stephen Rothwell has reported a conflict between
this branch and upstream:

On Tue, 15 Mar 2022 20:45:40 +1100 Stephen Rothwell <sfr@...b.auug.org.au> wrote:
>
> Today's linux-next merge of the folio tree got a conflict in:
>
>   fs/nfs/file.c
>
> between commit:
>
>   8786fde8421c ("Convert NFS from readpages to readahead")
>
> from the nfs tree and commit:
>
>   821405cf3ebb ("fs: Convert trivial uses of __set_page_dirty_nobuffers to filemap_dirty_folio")
>
> from the folio tree.

The fix should be trivial.

Thanks,
  Trond

----------------------------------------------------------------
NFS client updates for Linux 5.18

Highlights include:

Features:
- Switch NFS to use readahead instead of the obsolete readpages.
- Readdir fixes to improve cacheability of large directories when there
  are multiple readers and writers.
- Readdir performance improvements when doing a seekdir() immediately
  after opening the directory (common when re-exporting NFS).
- NFS swap improvements from Neil Brown.
- Loosen up memory allocation to permit direct reclaim and write back
  in cases where there is no danger of deadlocking the writeback code or
  NFS swap.
- Avoid sillyrename when the NFSv4 server claims to support the
  necessary features to recover the unlinked but open file after reboot.

Bugfixes:
- Patch from Olga to add a mount option to control NFSv4.1 session
  trunking discovery, and default it to being off.
- Fix a lockup in nfs_do_recoalesce().
- Two fixes for list iterator variables being used when pointing to the
  list head.
- Fix a kernel memory scribble when reading from a non-socket transport
  in /sys/kernel/sunrpc.
- Fix a race where reconnecting to a server could leave the TCP socket
  stuck forever in the connecting state.
- Patch from Neil to fix a shutdown race which can leave the SUNRPC
  transport timer primed after we free the struct xprt itself.
- Patch from Xin Xiong to fix reference count leaks in the NFSv4.2 copy
  offload.
- Sunrpc patch from Olga to avoid resending a task on an offlined
  transport.

Cleanups:
- Patches from Dave Wysochanski to clean up the fscache code

----------------------------------------------------------------
Alexey Khoroshilov (1):
      NFS: remove unneeded check in decode_devicenotify_args()

Benjamin Coddington (1):
      NFSv4: use unique client identifiers in network namespaces

Colin Ian King (1):
      SUNRPC: remove redundant pointer plainhdr

Dave Wysochanski (4):
      NFS: Cleanup usage of nfs_inode in fscache interface
      NFS: Rename fscache read and write pages functions
      NFS: Replace dfprintks with tracepoints in fscache read and write page functions
      NFS: Remove remaining dfprintks related to fscache and remove NFSDBG_FSCACHE

Jakob Koschel (1):
      NFS: replace usage of found with dedicated list iterator variable

Matthew Wilcox (Oracle) (1):
      Convert NFS from readpages to readahead

NeilBrown (12):
      NFS: remove IS_SWAPFILE hack
      SUNRPC/call_alloc: async tasks mustn't block waiting for memory
      SUNRPC/auth: async tasks mustn't block waiting for memory
      SUNRPC/xprt: async tasks mustn't block waiting for memory
      SUNRPC: remove scheduling boost for "SWAPPER" tasks.
      NFS: discard NFS_RPC_SWAPFLAGS and RPC_TASK_ROOTCREDS
      SUNRPC: improve 'swap' handling: scheduling and PF_MEMALLOC
      NFSv4: keep state manager thread active if swap is enabled
      NFS: swap IO handling is slightly different for O_DIRECT IO
      NFS: swap-out must always use STABLE writes.
      SUNRPC: change locking for xs_swap_enable/disable
      SUNRPC: avoid race between mod_timer() and del_timer_sync()

Olga Kornievskaia (5):
      NFSv4.1 support for NFS4_RESULT_PRESERVER_UNLINKED
      NFSv4.1 restrict GETATTR fs_location query to the main transport
      NFSv4.1 provide mount option to toggle trunking discovery
      SUNRPC don't resend a task on an offlined transport
      NFSv4.1: don't retry BIND_CONN_TO_SESSION on session error

Tom Rix (1):
      NFS: simplify check for freeing cn_resp

Trond Myklebust (63):
      NFSv4: Protect the state recovery thread against direct reclaim
      NFS: Charge open/lock file contexts to kmemcg
      NFSv4: Charge NFSv4 open state trackers to kmemcg
      NFSv4.2: Fix up an invalid combination of memory allocation flags
      NFS: Convert GFP_NOFS to GFP_KERNEL
      NFSv4/flexfiles: Convert GFP_NOFS to GFP_KERNEL
      NFSv4.2/copyoffload: Convert GFP_NOFS to GFP_KERNEL
      SUNRPC: Convert GFP_NOFS to GFP_KERNEL
      SUNRPC/auth_gss: Convert GFP_NOFS to GFP_KERNEL
      SUNRPC/xprtrdma: Convert GFP_NOFS to GFP_KERNEL
      NFS: Replace last uses of NFS_INO_REVAL_PAGECACHE
      NFS: Remove unused flag NFS_INO_REVAL_PAGECACHE
      NFS: NFSv2/v3 clients should never be setting NFS_CAP_XATTR
      NFS: Remove unnecessary XATTR cache invalidation in nfs_fhget()
      NFS: Clean up NFSv4.2 xattrs
      NFS: Use of mapping_set_error() results in spurious errors
      Revert "NFSv4: use unique client identifiers in network namespaces"
      NFS: Return valid errors from nfs2/3_decode_dirent()
      NFS: constify nfs_server_capable() and nfs_have_writebacks()
      NFS: Trace lookup revalidation failure
      NFS: Initialise the readdir verifier as best we can in nfs_opendir()
      NFS: Use kzalloc() to avoid initialising the nfs_open_dir_context
      NFS: Calculate page offsets algorithmically
      NFS: Store the change attribute in the directory page cache
      NFS: Don't re-read the entire page cache to find the next cookie
      NFS: Don't advance the page pointer unless the page is full
      NFS: Adjust the amount of readahead performed by NFS readdir
      NFS: If the cookie verifier changes, we must invalidate the page cache
      NFS: Simplify nfs_readdir_xdr_to_array()
      NFS: Reduce use of uncached readdir
      NFS: Improve heuristic for readdirplus
      NFS: Don't ask for readdirplus unless it can help nfs_getattr()
      NFSv4: Ask for a full XDR buffer of readdir goodness
      NFS: Readdirplus can't help lookup for case insensitive filesystems
      NFS: Don't request readdirplus when revalidation was forced
      NFS: Add basic readdir tracing
      NFS: Trace effects of readdirplus on the dcache
      NFS: Trace effects of the readdirplus heuristic
      NFS: Clean up page array initialisation/free
      NFS: Convert readdir page cache to use a cookie based index
      NFS: Fix up forced readdirplus
      NFS: Optimise away the previous cookie field
      NFS: Cache all entries in the readdirplus reply
      NFS: Don't deadlock when cookie hashes collide
      NFS: Fix revalidation of empty readdir pages
      SUNRPC: Don't call connect() more than once on a TCP socket
      SUNRPC: Only save the TCP source port after the connection is complete
      SUNRPC: Fix socket waits for write buffer space
      SUNRPC: Replace internal use of SOCKWQ_ASYNC_NOSPACE
      SUNRPC: Improve accuracy of socket ENOBUFS determination
      NFS: Fix memory allocation in rpc_malloc()
      NFS: Fix memory allocation in rpc_alloc_task()
      SUNRPC: Fix unx_lookup_cred() allocation
      SUNRPC: Make the rpciod and xprtiod slab allocation modes consistent
      NFS: nfsiod should not block forever in mempool_alloc()
      NFS: Avoid writeback threads getting stuck in mempool_alloc()
      NFSv4/pnfs: Ensure pNFS allocation modes are consistent with nfsiod
      pNFS/flexfiles: Ensure pNFS allocation modes are consistent with nfsiod
      pNFS/files: Ensure pNFS allocation modes are consistent with nfsiod
      SUNRPC: Do not dereference non-socket transports in sysfs
      SUNRPC: Don't return error values in sysfs read of closed files
      NFS: Don't loop forever in nfs_do_recoalesce()
      NFSv4/pNFS: Fix another issue with a list iterator pointing to the head

Xin Xiong (1):
      NFSv4.2: fix reference count leaks in _nfs42_proc_copy_notify()

 fs/nfs/Kconfig                          |   4 +
 fs/nfs/callback_proc.c                  |  29 +-
 fs/nfs/callback_xdr.c                   |   4 -
 fs/nfs/client.c                         |   3 +-
 fs/nfs/delegation.c                     |   2 +-
 fs/nfs/dir.c                            | 626 +++++++++++++++++++-------------
 fs/nfs/direct.c                         |  48 ++-
 fs/nfs/file.c                           |  26 +-
 fs/nfs/filelayout/filelayout.c          |   2 +-
 fs/nfs/flexfilelayout/flexfilelayout.c  |  53 ++-
 fs/nfs/fs_context.c                     |   8 +
 fs/nfs/fscache.c                        |  53 +--
 fs/nfs/fscache.h                        |  45 +--
 fs/nfs/inode.c                          |  86 ++---
 fs/nfs/internal.h                       |  25 +-
 fs/nfs/nfs2xdr.c                        |   3 +-
 fs/nfs/nfs3xdr.c                        |  30 +-
 fs/nfs/nfs42proc.c                      |  34 +-
 fs/nfs/nfs42xattr.c                     |   7 +-
 fs/nfs/nfs4_fs.h                        |   1 +
 fs/nfs/nfs4file.c                       |   8 +-
 fs/nfs/nfs4proc.c                       |  62 +++-
 fs/nfs/nfs4state.c                      |  59 ++-
 fs/nfs/nfs4xdr.c                        |   7 +-
 fs/nfs/nfstrace.h                       | 221 ++++++++++-
 fs/nfs/pagelist.c                       |  11 +-
 fs/nfs/pnfs.c                           |  50 +--
 fs/nfs/pnfs.h                           |   2 +
 fs/nfs/pnfs_nfs.c                       |   8 +-
 fs/nfs/proc.c                           |   1 +
 fs/nfs/read.c                           |  29 +-
 fs/nfs/write.c                          |  43 ++-
 include/linux/nfs_fs.h                  |  45 +--
 include/linux/nfs_fs_sb.h               |   1 +
 include/linux/nfs_xdr.h                 |   5 +-
 include/linux/sunrpc/auth.h             |   1 +
 include/linux/sunrpc/sched.h            |   2 +-
 include/linux/sunrpc/xprt.h             |   3 +
 include/linux/sunrpc/xprtsock.h         |   3 +-
 include/trace/events/sunrpc.h           |   1 -
 include/uapi/linux/nfs4.h               |   1 +
 include/uapi/linux/nfs_fs.h             |   2 +-
 net/sunrpc/auth.c                       |   8 +-
 net/sunrpc/auth_gss/auth_gss.c          |  26 +-
 net/sunrpc/auth_gss/auth_gss_internal.h |   2 +-
 net/sunrpc/auth_gss/gss_krb5_crypto.c   |  10 +-
 net/sunrpc/auth_gss/gss_krb5_seqnum.c   |   4 +-
 net/sunrpc/auth_gss/gss_krb5_wrap.c     |   4 +-
 net/sunrpc/auth_unix.c                  |  16 +-
 net/sunrpc/backchannel_rqst.c           |   8 +-
 net/sunrpc/clnt.c                       |  13 +-
 net/sunrpc/rpcb_clnt.c                  |   4 +-
 net/sunrpc/sched.c                      |  56 ++-
 net/sunrpc/socklib.c                    |   3 +-
 net/sunrpc/sysfs.c                      |  76 ++--
 net/sunrpc/xprt.c                       |  23 +-
 net/sunrpc/xprtrdma/frwr_ops.c          |   2 +-
 net/sunrpc/xprtrdma/transport.c         |  10 +-
 net/sunrpc/xprtrdma/verbs.c             |   4 +-
 net/sunrpc/xprtsock.c                   | 207 ++++++-----
 60 files changed, 1317 insertions(+), 813 deletions(-)

-- 
Trond Myklebust
Linux NFS client maintainer, Hammerspace
trond.myklebust@...merspace.com


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ