Skip to contentSkip to conversation

Linux 5.10.220

DISCUSSION Greg Kroah-Hartman 1 participant 2 messages Jun 21, 2024 Stable branch

lore
Share & tools
lore

Greg Kroah-Hartman

author maintainer
#0 lore raw

I'm announcing the release of the 5.10.220 kernel.

All users of the 5.10 kernel series must upgrade.

The updated 5.10.y git tree can be found at:
git://git.kernel.org/pub/scm/linux/kernel/git/stable/linux-stable.git linux-5.10.y
and can be browsed at the normal kernel.org git web browser:
https://git.kernel.org/?p=linux/kernel/git/stable/linux-stable.git;a=summary

thanks,

greg k-h

------------

 Documentation/filesystems/files.rst          |    8 
 Documentation/filesystems/locking.rst        |   10 
 Documentation/filesystems/nfs/exporting.rst  |   78 
 Makefile                                     |    2 
 arch/powerpc/platforms/cell/spufs/coredump.c |    2 
 crypto/algboss.c                             |    4 
 fs/Kconfig                                   |    6 
 fs/autofs/dev-ioctl.c                        |    5 
 fs/cachefiles/namei.c                        |    9 
 fs/cifs/connect.c                            |    2 
 fs/coredump.c                                |    5 
 fs/ecryptfs/inode.c                          |   10 
 fs/exec.c                                    |   29 
 fs/exportfs/expfs.c                          |   40 
 fs/file.c                                    |  177 -
 fs/init.c                                    |    6 
 fs/lockd/clnt4xdr.c                          |    9 
 fs/lockd/clntproc.c                          |    3 
 fs/lockd/host.c                              |    4 
 fs/lockd/svc.c                               |  256 -
 fs/lockd/svc4proc.c                          |   70 
 fs/lockd/svclock.c                           |   67 
 fs/lockd/svcproc.c                           |   62 
 fs/lockd/svcsubs.c                           |  123 
 fs/lockd/svcxdr.h                            |  142 +
 fs/lockd/xdr.c                               |  454 +--
 fs/lockd/xdr4.c                              |  466 +--
 fs/locks.c                                   |  102 
 fs/namei.c                                   |   21 
 fs/nfs/blocklayout/blocklayout.c             |    2 
 fs/nfs/blocklayout/dev.c                     |    2 
 fs/nfs/callback.c                            |  111 
 fs/nfs/callback_xdr.c                        |   33 
 fs/nfs/dir.c                                 |    2 
 fs/nfs/export.c                              |   17 
 fs/nfs/file.c                                |    3 
 fs/nfs/filelayout/filelayout.c               |    4 
 fs/nfs/filelayout/filelayoutdev.c            |    2 
 fs/nfs/flexfilelayout/flexfilelayout.c       |    4 
 fs/nfs/flexfilelayout/flexfilelayoutdev.c    |    2 
 fs/nfs/nfs42xdr.c                            |    2 
 fs/nfs/nfs4state.c                           |    2 
 fs/nfs/nfs4xdr.c                             |    6 
 fs/nfs/pagelist.c                            |    3 
 fs/nfs/super.c                               |    8 
 fs/nfs/write.c                               |    3 
 fs/nfs_common/Makefile                       |    2 
 fs/nfs_common/nfs_ssc.c                      |    2 
 fs/nfs_common/nfsacl.c                       |  123 
 fs/nfsd/Kconfig                              |   36 
 fs/nfsd/Makefile                             |    8 
 fs/nfsd/acl.h                                |    6 
 fs/nfsd/blocklayout.c                        |    1 
 fs/nfsd/blocklayoutxdr.c                     |    1 
 fs/nfsd/cache.h                              |    2 
 fs/nfsd/export.c                             |   74 
 fs/nfsd/export.h                             |   16 
 fs/nfsd/filecache.c                          | 1191 ++++----
 fs/nfsd/filecache.h                          |   23 
 fs/nfsd/flexfilelayout.c                     |    3 
 fs/nfsd/lockd.c                              |   10 
 fs/nfsd/netns.h                              |   63 
 fs/nfsd/nfs2acl.c                            |  216 -
 fs/nfsd/nfs3acl.c                            |  146 -
 fs/nfsd/nfs3proc.c                           |  396 +-
 fs/nfsd/nfs3xdr.c                            | 1751 +++++++-----
 fs/nfsd/nfs4acl.c                            |   45 
 fs/nfsd/nfs4callback.c                       |  168 -
 fs/nfsd/nfs4idmap.c                          |    9 
 fs/nfsd/nfs4layouts.c                        |    4 
 fs/nfsd/nfs4proc.c                           | 1111 +++++---
 fs/nfsd/nfs4recover.c                        |   20 
 fs/nfsd/nfs4state.c                          | 1913 +++++++++----
 fs/nfsd/nfs4xdr.c                            | 3709 ++++++++++++++-------------
 fs/nfsd/nfscache.c                           |  115 
 fs/nfsd/nfsctl.c                             |  169 -
 fs/nfsd/nfsd.h                               |   50 
 fs/nfsd/nfsfh.c                              |  297 +-
 fs/nfsd/nfsfh.h                              |  181 -
 fs/nfsd/nfsproc.c                            |  262 -
 fs/nfsd/nfssvc.c                             |  356 +-
 fs/nfsd/nfsxdr.c                             |  844 +++---
 fs/nfsd/state.h                              |   69 
 fs/nfsd/stats.c                              |  122 
 fs/nfsd/stats.h                              |   96 
 fs/nfsd/trace.c                              |    1 
 fs/nfsd/trace.h                              |  886 +++++-
 fs/nfsd/vfs.c                                |  929 +++---
 fs/nfsd/vfs.h                                |   60 
 fs/nfsd/xdr.h                                |   70 
 fs/nfsd/xdr3.h                               |  116 
 fs/nfsd/xdr4.h                               |  127 
 fs/nfsd/xdr4cb.h                             |    6 
 fs/notify/dnotify/dnotify.c                  |   17 
 fs/notify/fanotify/fanotify.c                |  485 ++-
 fs/notify/fanotify/fanotify.h                |  252 +
 fs/notify/fanotify/fanotify_user.c           |  878 +++++-
 fs/notify/fdinfo.c                           |   19 
 fs/notify/fsnotify.c                         |  183 -
 fs/notify/fsnotify.h                         |   19 
 fs/notify/group.c                            |   38 
 fs/notify/inotify/inotify.h                  |   11 
 fs/notify/inotify/inotify_fsnotify.c         |   12 
 fs/notify/inotify/inotify_user.c             |   87 
 fs/notify/mark.c                             |  172 -
 fs/notify/notification.c                     |   70 
 fs/open.c                                    |   49 
 fs/overlayfs/overlayfs.h                     |    9 
 fs/proc/fd.c                                 |   48 
 fs/udf/file.c                                |    2 
 fs/verity/enable.c                           |    2 
 include/linux/dnotify.h                      |    2 
 include/linux/errno.h                        |    1 
 include/linux/exportfs.h                     |   15 
 include/linux/fanotify.h                     |   74 
 include/linux/fdtable.h                      |   37 
 include/linux/fs.h                           |   54 
 include/linux/fsnotify.h                     |   77 
 include/linux/fsnotify_backend.h             |  372 ++
 include/linux/iversion.h                     |   13 
 include/linux/kallsyms.h                     |   17 
 include/linux/kthread.h                      |    1 
 include/linux/lockd/bind.h                   |    3 
 include/linux/lockd/lockd.h                  |   17 
 include/linux/lockd/xdr.h                    |   35 
 include/linux/lockd/xdr4.h                   |   33 
 include/linux/module.h                       |   24 
 include/linux/nfs.h                          |    8 
 include/linux/nfs4.h                         |   21 
 include/linux/nfs_ssc.h                      |   14 
 include/linux/nfsacl.h                       |    6 
 include/linux/pid.h                          |    1 
 include/linux/sched/user.h                   |    3 
 include/linux/sunrpc/msg_prot.h              |    3 
 include/linux/sunrpc/svc.h                   |  151 -
 include/linux/sunrpc/svc_rdma.h              |    4 
 include/linux/sunrpc/svc_xprt.h              |   16 
 include/linux/sunrpc/svcauth.h               |    4 
 include/linux/sunrpc/svcsock.h               |    7 
 include/linux/sunrpc/xdr.h                   |  153 +
 include/linux/syscalls.h                     |   12 
 include/linux/sysctl.h                       |    2 
 include/linux/user_namespace.h               |    4 
 include/trace/events/sunrpc.h                |   26 
 include/uapi/linux/fanotify.h                |   42 
 include/uapi/linux/nfs3.h                    |    6 
 include/uapi/linux/nfsd/nfsfh.h              |  105 
 kernel/audit_fsnotify.c                      |    8 
 kernel/audit_tree.c                          |    2 
 kernel/audit_watch.c                         |    5 
 kernel/bpf/inode.c                           |    2 
 kernel/bpf/syscall.c                         |   20 
 kernel/bpf/task_iter.c                       |    2 
 kernel/fork.c                                |   12 
 kernel/kallsyms.c                            |    8 
 kernel/kcmp.c                                |   29 
 kernel/kthread.c                             |   23 
 kernel/livepatch/core.c                      |    7 
 kernel/module.c                              |   26 
 kernel/pid.c                                 |   15 
 kernel/sys.c                                 |    2 
 kernel/sysctl.c                              |   54 
 kernel/trace/trace_kprobe.c                  |    4 
 kernel/ucount.c                              |    4 
 mm/madvise.c                                 |    2 
 mm/memcontrol.c                              |    2 
 mm/mincore.c                                 |    2 
 net/bluetooth/bnep/core.c                    |    2 
 net/bluetooth/cmtp/core.c                    |    2 
 net/bluetooth/hidp/core.c                    |    2 
 net/sunrpc/auth_gss/gss_rpc_xdr.c            |    2 
 net/sunrpc/auth_gss/svcauth_gss.c            |   47 
 net/sunrpc/sched.c                           |    1 
 net/sunrpc/svc.c                             |  314 +-
 net/sunrpc/svc_xprt.c                        |  104 
 net/sunrpc/svcauth.c                         |    8 
 net/sunrpc/svcauth_unix.c                    |   18 
 net/sunrpc/svcsock.c                         |   32 
 net/sunrpc/xdr.c                             |  112 
 net/sunrpc/xprtrdma/svc_rdma_backchannel.c   |    2 
 net/sunrpc/xprtrdma/svc_rdma_sendto.c        |   32 
 net/sunrpc/xprtrdma/svc_rdma_transport.c     |    2 
 net/unix/af_unix.c                           |    2 
 tools/objtool/check.c                        |    3 
 184 files changed, 13950 insertions(+), 8863 deletions(-)

Al Viro (2):
nfsd_splice_actor(): handle compound pages
fs/notify: constify path

Alex Shi (1):
nfsd/nfs3: remove unused macro nfsd3_fhandleres

Amir Goldstein (52):
nfsd: remove unused stats counters
nfsd: protect concurrent access to nfsd stats counters
nfsd: report per-export stats
fsnotify: allow fsnotify_{peek,remove}_first_event with empty queue
fanotify: reduce event objectid to 29-bit hash
fanotify: mix event info and pid into merge key hash
fsnotify: use hash table for faster events merge
fanotify: limit number of event merge attempts
fanotify: configurable limits via sysfs
fanotify: support limited functionality for unprivileged users
fanotify: fix permission model of unprivileged group
fsnotify: replace igrab() with ihold() on attach connector
fsnotify: count s_fsnotify_inode_refs for attached connectors
fsnotify: count all objects with attached connectors
fsnotify: optimize the case of no marks of any type
fsnotify: fix sb_connectors leak
fsnotify: pass data_type to fsnotify_name()
fsnotify: pass dentry instead of inode data
fsnotify: clarify contract for create event hooks
fsnotify: clarify object type argument
fsnotify: separate mark iterator type from object type enum
fanotify: introduce group flag FAN_REPORT_TARGET_FID
fsnotify: generate FS_RENAME event with rich information
fanotify: use macros to get the offset to fanotify_info buffer
fanotify: use helpers to parcel fanotify_info buffer
fanotify: support secondary dir fh and name in fanotify_info
fanotify: record old and new parent and name in FAN_RENAME event
fanotify: record either old name new name or both for FAN_RENAME
fanotify: report old and/or new parent+name in FAN_RENAME event
fanotify: wire up FAN_RENAME event
fsnotify: fix merge with parent's ignored mask
fsnotify: optimize FS_MODIFY events with no ignored masks
fanotify: do not allow setting dirent events in mask of non-dir
inotify: move control flags from mask to mark flags
fsnotify: pass flags argument to fsnotify_alloc_group()
fsnotify: make allow_dups a property of the group
fsnotify: create helpers for group mark_mutex lock
inotify: use fsnotify group lock helpers
nfsd: use fsnotify group lock helpers
dnotify: use fsnotify group lock helpers
fsnotify: allow adding an inode mark without pinning inode
fanotify: create helper fanotify_mark_user_flags()
fanotify: factor out helper fanotify_mark_update_flags()
fanotify: implement "evictable" inode marks
fanotify: use fsnotify group lock helpers
fanotify: enable "evictable" inode marks
fsnotify: introduce mark type iterator
fsnotify: consistent behavior for parent not watching children
fanotify: refine the validation checks on non-dir inode mask
fanotify: prepare for setting event flags in ignore mask
fanotify: cleanups for fanotify_mark() input validations
fanotify: introduce FAN_MARK_IGNORE

Anna Schumaker (1):
NFSD: Simplify READ_PLUS

Bang Li (1):
fsnotify: remove redundant parameter judgment

Benjamin Coddington (1):
NLM: Defend against file_lock changes after vfs_test_lock()

Brian Foster (1):
NFSD: pass range end to vfs_fsync_range() instead of count

Changcheng Deng (1):
NFSD:fix boolreturn.cocci warning

ChenXiaoSong (5):
nfsd: use DEFINE_PROC_SHOW_ATTRIBUTE to define nfsd_proc_ops
nfsd: use DEFINE_SHOW_ATTRIBUTE to define export_features_fops and supported_enctypes_fops
nfsd: use DEFINE_SHOW_ATTRIBUTE to define client_info_fops
nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_reply_cache_stats_fops
nfsd: use DEFINE_SHOW_ATTRIBUTE to define nfsd_file_cache_stats_fops

Christian Brauner (3):
fs: add file and path permissions helpers
namei: introduce struct renamedata
fanotify_user: use upper_32_bits() to verify mask

Christoph Hellwig (4):
module: unexport find_module and module_mutex
module: use RCU to synchronize find_module
kallsyms: refactor {,module_}kallsyms_on_each_symbol
kallsyms: only build {,module_}kallsyms_on_each_symbol when required

Christophe JAILLET (2):
nfsd: Avoid some useless tests
nfsd: Propagate some error code returned by memdup_user()

Chuck Lever (409):
SUNRPC: Rename svc_encode_read_payload()
NFSD: Invoke svc_encode_result_payload() in "read" NFSD encoders
NFSD: Clean up the show_nf_may macro
NFSD: Remove extra "0x" in tracepoint format specifier
NFSD: Add SPDX header for fs/nfsd/trace.c
SUNRPC: Add xdr_set_scratch_page() and xdr_reset_scratch_buffer()
SUNRPC: Prepare for xdr_stream-style decoding on the server-side
NFSD: Add common helpers to decode void args and encode void results
NFSD: Add tracepoints in nfsd_dispatch()
NFSD: Add tracepoints in nfsd4_decode/encode_compound()
NFSD: Replace the internals of the READ_BUF() macro
NFSD: Replace READ* macros in nfsd4_decode_access()
NFSD: Replace READ* macros in nfsd4_decode_close()
NFSD: Replace READ* macros in nfsd4_decode_commit()
NFSD: Change the way the expected length of a fattr4 is checked
NFSD: Replace READ* macros that decode the fattr4 size attribute
NFSD: Replace READ* macros that decode the fattr4 acl attribute
NFSD: Replace READ* macros that decode the fattr4 mode attribute
NFSD: Replace READ* macros that decode the fattr4 owner attribute
NFSD: Replace READ* macros that decode the fattr4 owner_group attribute
NFSD: Replace READ* macros that decode the fattr4 time_set attributes
NFSD: Replace READ* macros that decode the fattr4 security label attribute
NFSD: Replace READ* macros that decode the fattr4 umask attribute
NFSD: Replace READ* macros in nfsd4_decode_fattr()
NFSD: Replace READ* macros in nfsd4_decode_create()
NFSD: Replace READ* macros in nfsd4_decode_delegreturn()
NFSD: Replace READ* macros in nfsd4_decode_getattr()
NFSD: Replace READ* macros in nfsd4_decode_link()
NFSD: Relocate nfsd4_decode_opaque()
NFSD: Add helpers to decode a clientid4 and an NFSv4 state owner
NFSD: Add helper for decoding locker4
NFSD: Replace READ* macros in nfsd4_decode_lock()
NFSD: Replace READ* macros in nfsd4_decode_lockt()
NFSD: Replace READ* macros in nfsd4_decode_locku()
NFSD: Replace READ* macros in nfsd4_decode_lookup()
NFSD: Add helper to decode NFSv4 verifiers
NFSD: Add helper to decode OPEN's createhow4 argument
NFSD: Add helper to decode OPEN's openflag4 argument
NFSD: Replace READ* macros in nfsd4_decode_share_access()
NFSD: Replace READ* macros in nfsd4_decode_share_deny()
NFSD: Add helper to decode OPEN's open_claim4 argument
NFSD: Replace READ* macros in nfsd4_decode_open()
NFSD: Replace READ* macros in nfsd4_decode_open_confirm()
NFSD: Replace READ* macros in nfsd4_decode_open_downgrade()
NFSD: Replace READ* macros in nfsd4_decode_putfh()
NFSD: Replace READ* macros in nfsd4_decode_read()
NFSD: Replace READ* macros in nfsd4_decode_readdir()
NFSD: Replace READ* macros in nfsd4_decode_remove()
NFSD: Replace READ* macros in nfsd4_decode_rename()
NFSD: Replace READ* macros in nfsd4_decode_renew()
NFSD: Replace READ* macros in nfsd4_decode_secinfo()
NFSD: Replace READ* macros in nfsd4_decode_setattr()
NFSD: Replace READ* macros in nfsd4_decode_setclientid()
NFSD: Replace READ* macros in nfsd4_decode_setclientid_confirm()
NFSD: Replace READ* macros in nfsd4_decode_verify()
NFSD: Replace READ* macros in nfsd4_decode_write()
NFSD: Replace READ* macros in nfsd4_decode_release_lockowner()
NFSD: Replace READ* macros in nfsd4_decode_cb_sec()
NFSD: Replace READ* macros in nfsd4_decode_backchannel_ctl()
NFSD: Replace READ* macros in nfsd4_decode_bind_conn_to_session()
NFSD: Add a separate decoder to handle state_protect_ops
NFSD: Add a separate decoder for ssv_sp_parms
NFSD: Add a helper to decode state_protect4_a
NFSD: Add a helper to decode nfs_impl_id4
NFSD: Add a helper to decode channel_attrs4
NFSD: Replace READ* macros in nfsd4_decode_create_session()
NFSD: Replace READ* macros in nfsd4_decode_destroy_session()
NFSD: Replace READ* macros in nfsd4_decode_free_stateid()
NFSD: Replace READ* macros in nfsd4_decode_getdeviceinfo()
NFSD: Replace READ* macros in nfsd4_decode_layoutcommit()
NFSD: Replace READ* macros in nfsd4_decode_layoutget()
NFSD: Replace READ* macros in nfsd4_decode_layoutreturn()
NFSD: Replace READ* macros in nfsd4_decode_secinfo_no_name()
NFSD: Replace READ* macros in nfsd4_decode_sequence()
NFSD: Replace READ* macros in nfsd4_decode_test_stateid()
NFSD: Replace READ* macros in nfsd4_decode_destroy_clientid()
NFSD: Replace READ* macros in nfsd4_decode_reclaim_complete()
NFSD: Replace READ* macros in nfsd4_decode_fallocate()
NFSD: Replace READ* macros in nfsd4_decode_nl4_server()
NFSD: Replace READ* macros in nfsd4_decode_copy()
NFSD: Replace READ* macros in nfsd4_decode_copy_notify()
NFSD: Replace READ* macros in nfsd4_decode_offload_status()
NFSD: Replace READ* macros in nfsd4_decode_seek()
NFSD: Replace READ* macros in nfsd4_decode_clone()
NFSD: Replace READ* macros in nfsd4_decode_xattr_name()
NFSD: Replace READ* macros in nfsd4_decode_setxattr()
NFSD: Replace READ* macros in nfsd4_decode_listxattrs()
NFSD: Make nfsd4_ops::opnum a u32
NFSD: Replace READ* macros in nfsd4_decode_compound()
NFSD: Remove macros that are no longer used
Revert "fget: clarify and improve __fget_files() implementation"
NFSD: Fix sparse warning in nfssvc.c
NFSD: Restore NFSv4 decoding's SAVEMEM functionality
SUNRPC: Make trace_svc_process() display the RPC procedure symbolically
SUNRPC: Display RPC procedure names instead of proc numbers
SUNRPC: Move definition of XDR_UNIT
NFSD: Update GETATTR3args decoder to use struct xdr_stream
NFSD: Update ACCESS3arg decoder to use struct xdr_stream
NFSD: Update READ3arg decoder to use struct xdr_stream
NFSD: Update WRITE3arg decoder to use struct xdr_stream
NFSD: Update READLINK3arg decoder to use struct xdr_stream
NFSD: Fix returned READDIR offset cookie
NFSD: Add helper to set up the pages where the dirlist is encoded
NFSD: Update READDIR3args decoders to use struct xdr_stream
NFSD: Update COMMIT3arg decoder to use struct xdr_stream
NFSD: Update the NFSv3 DIROPargs decoder to use struct xdr_stream
NFSD: Update the RENAME3args decoder to use struct xdr_stream
NFSD: Update the LINK3args decoder to use struct xdr_stream
NFSD: Update the SETATTR3args decoder to use struct xdr_stream
NFSD: Update the CREATE3args decoder to use struct xdr_stream
NFSD: Update the MKDIR3args decoder to use struct xdr_stream
NFSD: Update the SYMLINK3args decoder to use struct xdr_stream
NFSD: Update the MKNOD3args decoder to use struct xdr_stream
NFSD: Update the NFSv2 GETATTR argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 READ argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 WRITE argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 READLINK argument decoder to use struct xdr_stream
NFSD: Add helper to set up the pages where the dirlist is encoded
NFSD: Update the NFSv2 READDIR argument decoder to use struct xdr_stream
NFSD: Update NFSv2 diropargs decoding to use struct xdr_stream
NFSD: Update the NFSv2 RENAME argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 LINK argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 SETATTR argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 CREATE argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 SYMLINK argument decoder to use struct xdr_stream
NFSD: Remove argument length checking in nfsd_dispatch()
NFSD: Update the NFSv2 GETACL argument decoder to use struct xdr_stream
NFSD: Add an xdr_stream-based decoder for NFSv2/3 ACLs
NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 ACL GETATTR argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 ACL ACCESS argument decoder to use struct xdr_stream
NFSD: Clean up after updating NFSv2 ACL decoders
NFSD: Update the NFSv3 GETACL argument decoder to use struct xdr_stream
NFSD: Update the NFSv2 SETACL argument decoder to use struct xdr_stream
NFSD: Clean up after updating NFSv3 ACL decoders
NFSD: Extract the svcxdr_init_encode() helper
NFSD: Update the GETATTR3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 ACCESS3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 LOOKUP3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 wccstat result encoder to use struct xdr_stream
NFSD: Update the NFSv3 READLINK3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 READ3res encode to use struct xdr_stream
NFSD: Update the NFSv3 WRITE3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 CREATE family of encoders to use struct xdr_stream
NFSD: Update the NFSv3 RENAMEv3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 LINK3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 FSSTAT3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 FSINFO3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 PATHCONF3res encoder to use struct xdr_stream
NFSD: Update the NFSv3 COMMIT3res encoder to use struct xdr_stream
NFSD: Add a helper that encodes NFSv3 directory offset cookies
NFSD: Count bytes instead of pages in the NFSv3 READDIR encoder
NFSD: Update the NFSv3 READDIR3res encoder to use struct xdr_stream
NFSD: Update NFSv3 READDIR entry encoders to use struct xdr_stream
NFSD: Remove unused NFSv3 directory entry encoders
NFSD: Reduce svc_rqst::rq_pages churn during READDIR operations
NFSD: Update the NFSv2 stat encoder to use struct xdr_stream
NFSD: Update the NFSv2 attrstat encoder to use struct xdr_stream
NFSD: Update the NFSv2 diropres encoder to use struct xdr_stream
NFSD: Update the NFSv2 READLINK result encoder to use struct xdr_stream
NFSD: Update the NFSv2 READ result encoder to use struct xdr_stream
NFSD: Update the NFSv2 STATFS result encoder to use struct xdr_stream
NFSD: Add a helper that encodes NFSv3 directory offset cookies
NFSD: Count bytes instead of pages in the NFSv2 READDIR encoder
NFSD: Update the NFSv2 READDIR result encoder to use struct xdr_stream
NFSD: Update the NFSv2 READDIR entry encoder to use struct xdr_stream
NFSD: Remove unused NFSv2 directory entry encoders
NFSD: Add an xdr_stream-based encoder for NFSv2/3 ACLs
NFSD: Update the NFSv2 GETACL result encoder to use struct xdr_stream
NFSD: Update the NFSv2 SETACL result encoder to use struct xdr_stream
NFSD: Update the NFSv2 ACL GETATTR result encoder to use struct xdr_stream
NFSD: Update the NFSv2 ACL ACCESS result encoder to use struct xdr_stream
NFSD: Clean up after updating NFSv2 ACL encoders
NFSD: Update the NFSv3 GETACL result encoder to use struct xdr_stream
NFSD: Update the NFSv3 SETACL result encoder to use struct xdr_stream
NFSD: Clean up after updating NFSv3 ACL encoders
NFSD: Add a tracepoint to record directory entry encoding
NFSD: Clean up NFSDDBG_FACILITY macro
SUNRPC: Export svc_xprt_received()
Revert "fanotify: limit number of event merge attempts"
NFSD: Add an RPC authflavor tracepoint display helper
NFSD: Add nfsd_clid_cred_mismatch tracepoint
NFSD: Add nfsd_clid_verf_mismatch tracepoint
NFSD: Remove trace_nfsd_clid_inuse_err
NFSD: Add nfsd_clid_confirmed tracepoint
NFSD: Add nfsd_clid_reclaim_complete tracepoint
NFSD: Add nfsd_clid_destroyed tracepoint
NFSD: Add a couple more nfsd_clid_expired call sites
NFSD: Add tracepoints for SETCLIENTID edge cases
NFSD: Add tracepoints for EXCHANGEID edge cases
NFSD: Constify @fh argument of knfsd_fh_hash()
NFSD: Capture every CB state transition
NFSD: Drop TRACE_DEFINE_ENUM for NFSD4_CB_<state> macros
NFSD: Add cb_lost tracepoint
NFSD: Adjust cb_shutdown tracepoint
NFSD: Enhance the nfsd_cb_setup tracepoint
NFSD: Add an nfsd_cb_lm_notify tracepoint
NFSD: Add an nfsd_cb_offload tracepoint
NFSD: Replace the nfsd_deleg_break tracepoint
NFSD: Add an nfsd_cb_probe tracepoint
NFSD: Remove the nfsd_cb_work and nfsd_cb_done tracepoints
NFSD: Update nfsd_cb_args tracepoint
lockd: Remove stale comments
lockd: Create a simplified .vs_dispatch method for NLM requests
lockd: Common NLM XDR helpers
lockd: Update the NLMv1 void argument decoder to use struct xdr_stream
lockd: Update the NLMv1 TEST arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 LOCK arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 CANCEL arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 UNLOCK arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 nlm_res arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 SM_NOTIFY arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 SHARE arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 FREE_ALL arguments decoder to use struct xdr_stream
lockd: Update the NLMv1 void results encoder to use struct xdr_stream
lockd: Update the NLMv1 TEST results encoder to use struct xdr_stream
lockd: Update the NLMv1 nlm_res results encoder to use struct xdr_stream
lockd: Update the NLMv1 SHARE results encoder to use struct xdr_stream
lockd: Update the NLMv4 void arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 TEST arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 LOCK arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 CANCEL arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 UNLOCK arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 nlm_res arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 SM_NOTIFY arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 SHARE arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 FREE_ALL arguments decoder to use struct xdr_stream
lockd: Update the NLMv4 void results encoder to use struct xdr_stream
lockd: Update the NLMv4 TEST results encoder to use struct xdr_stream
lockd: Update the NLMv4 nlm_res results encoder to use struct xdr_stream
lockd: Update the NLMv4 SHARE results encoder to use struct xdr_stream
NFSD: Prevent a possible oops in the nfs_dirent() tracepoint
NFSD: Clean up splice actor
SUNRPC: Add svc_rqst_replace_page() API
NFSD: Batch release pages during splice read
SUNRPC: Add svc_rqst::rq_auth_stat
SUNRPC: Set rq_auth_stat in the pg_authenticate() callout
SUNRPC: Eliminate the RQ_AUTHERR flag
NFS: Add a private local dispatcher for NFSv4 callback operations
NFS: Remove unused callback void decoder
NLM: Fix svcxdr_encode_owner()
SUNRPC: Trace calls to .rpc_call_done
NFSD: Optimize DRC bucket pruning
NFSD: Have legacy NFSD WRITE decoders use xdr_stream_subsegment()
SUNRPC: Replace the "__be32 *p" parameter to .pc_decode
SUNRPC: Change return value type of .pc_decode
NFSD: Save location of NFSv4 COMPOUND status
SUNRPC: Replace the "__be32 *p" parameter to .pc_encode
SUNRPC: Change return value type of .pc_encode
NFSD: Fix exposure in nfsd4_decode_bitmap()
NFSD: Fix READDIR buffer overflow
NFSD: Fix sparse warning
NFSD: Remove be32_to_cpu() from DRC hash function
NFSD: Combine XDR error tracepoints
NFSD: De-duplicate nfsd4_decode_bitmap4()
NFSD: Fix zero-length NFSv3 WRITEs
NFSD: Clean up nfsd_vfs_write()
NFSD: De-duplicate net_generic(SVC_NET(rqstp), nfsd_net_id)
NFSD: De-duplicate net_generic(nf->nf_net, nfsd_net_id)
NFSD: Write verifier might go backwards
NFSD: Clean up the nfsd_net::nfssvc_boot field
NFSD: Rename boot verifier functions
NFSD: Trace boot verifier resets
Revert "nfsd: skip some unnecessary stats in the v4 case"
NFSD: Move fill_pre_wcc() and fill_post_wcc()
NFSD: Fix the behavior of READ near OFFSET_MAX
NFSD: Fix ia_size underflow
NFSD: Fix NFSv3 SETATTR/CREATE's handling of large file sizes
NFSD: COMMIT operations must not return NFS?ERR_INVAL
NFSD: Deprecate NFS_OFFSET_MAX
NFSD: De-duplicate hash bucket indexing
NFSD: Skip extra computation for RC_NOCACHE case
NFSD: Streamline the rare "found" case
SUNRPC: Remove the .svo_enqueue_xprt method
SUNRPC: Merge svc_do_enqueue_xprt() into svc_enqueue_xprt()
SUNRPC: Remove svo_shutdown method
SUNRPC: Rename svc_create_xprt()
SUNRPC: Rename svc_close_xprt()
SUNRPC: Remove svc_shutdown_net()
NFSD: Remove svc_serv_ops::svo_module
NFSD: Move svc_serv_ops::svo_function into struct svc_serv
NFSD: Remove CONFIG_NFSD_V3
NFSD: Clean up _lm_ operation names
NFSD: Clean up nfsd_splice_actor()
NFSD: Clean up nfsd3_proc_create()
NFSD: Avoid calling fh_drop_write() twice in do_nfsd_create()
NFSD: Refactor nfsd_create_setattr()
NFSD: Refactor NFSv3 CREATE
NFSD: Refactor NFSv4 OPEN(CREATE)
NFSD: Remove do_nfsd_create()
NFSD: Clean up nfsd_open_verified()
NFSD: Instantiate a struct file when creating a regular NFSv4 file
NFSD: Remove dprintk call sites from tail of nfsd4_open()
NFSD: Fix whitespace
NFSD: Move documenting comment for nfsd4_process_open2()
NFSD: Trace filecache opens
NFSD: Clean up the show_nf_flags() macro
SUNRPC: Use RMW bitops in single-threaded hot paths
NFSD: Modernize nfsd4_release_lockowner()
NFSD: Add documenting comment for nfsd4_release_lockowner()
NFSD: nfsd_file_put() can sleep
NFSD: Fix potential use-after-free in nfsd_file_put()
SUNRPC: Optimize xdr_reserve_space()
NFSD: Decode NFSv4 birth time attribute
SUNRPC: Fix xdr_encode_bool()
NFSD: Demote a WARN to a pr_warn()
NFSD: Report filecache LRU size
NFSD: Report count of calls to nfsd_file_acquire()
NFSD: Report count of freed filecache items
NFSD: Report average age of filecache items
NFSD: Add nfsd_file_lru_dispose_list() helper
NFSD: Refactor nfsd_file_gc()
NFSD: Refactor nfsd_file_lru_scan()
NFSD: Report the number of items evicted by the LRU walk
NFSD: Record number of flush calls
NFSD: Zero counters when the filecache is re-initialized
NFSD: Hook up the filecache stat file
NFSD: WARN when freeing an item still linked via nf_lru
NFSD: Trace filecache LRU activity
NFSD: Leave open files out of the filecache LRU
NFSD: Fix the filecache LRU shrinker
NFSD: Never call nfsd_file_gc() in foreground paths
NFSD: No longer record nf_hashval in the trace log
NFSD: Remove lockdep assertion from unhash_and_release_locked()
NFSD: nfsd_file_unhash can compute hashval from nf->nf_inode
NFSD: Refactor __nfsd_file_close_inode()
NFSD: nfsd_file_hash_remove can compute hashval
NFSD: Remove nfsd_file::nf_hashval
NFSD: Replace the "init once" mechanism
NFSD: Set up an rhashtable for the filecache
NFSD: Convert the filecache to use rhashtable
NFSD: Clean up unused code after rhashtable conversion
NFSD: Separate tracepoints for acquire and create
NFSD: Move nfsd_file_trace_alloc() tracepoint
NFSD: NFSv4 CLOSE should release an nfsd_file immediately
NFSD: Ensure nf_inode is never dereferenced
NFSD: Optimize nfsd4_encode_operation()
NFSD: Optimize nfsd4_encode_fattr()
NFSD: Clean up SPLICE_OK in nfsd4_encode_read()
NFSD: Add an nfsd4_read::rd_eof field
NFSD: Optimize nfsd4_encode_readv()
NFSD: Simplify starting_len
NFSD: Use xdr_pad_size()
NFSD: Clean up nfsd4_encode_readlink()
NFSD: Fix strncpy() fortify warning
NFSD: nfserrno(-ENOMEM) is nfserr_jukebox
NFSD: Shrink size of struct nfsd4_copy_notify
NFSD: Shrink size of struct nfsd4_copy
NFSD: Reorder the fields in struct nfsd4_op
NFSD: Make nfs4_put_copy() static
NFSD: Replace boolean fields in struct nfsd4_copy
NFSD: Refactor nfsd4_cleanup_inter_ssc() (1/2)
NFSD: Refactor nfsd4_cleanup_inter_ssc() (2/2)
NFSD: Refactor nfsd4_do_copy()
NFSD: Remove kmalloc from nfsd4_do_async_copy()
NFSD: Add nfsd4_send_cb_offload()
NFSD: Move copy offload callback arguments into a separate structure
NFSD: Increase NFSD_MAX_OPS_PER_COMPOUND
NFSD: Protect against send buffer overflow in NFSv2 READDIR
NFSD: Protect against send buffer overflow in NFSv3 READDIR
NFSD: Protect against send buffer overflow in NFSv2 READ
NFSD: Protect against send buffer overflow in NFSv3 READ
NFSD: Fix handling of oversized NFSv4 COMPOUND requests
NFSD: Add tracepoints to report NFSv4 callback completions
NFSD: Add a mechanism to wait for a DELEGRETURN
NFSD: Refactor nfsd_setattr()
NFSD: Make nfsd4_setattr() wait before returning NFS4ERR_DELAY
NFSD: Make nfsd4_rename() wait before returning NFS4ERR_DELAY
NFSD: Make nfsd4_remove() wait before returning NFS4ERR_DELAY
SUNRPC: Parametrize how much of argsize should be zeroed
NFSD: Reduce amount of struct nfsd4_compoundargs that needs clearing
NFSD: Refactor common code out of dirlist helpers
NFSD: Use xdr_inline_decode() to decode NFSv3 symlinks
NFSD: Clean up WRITE arg decoders
NFSD: Clean up nfs4svc_encode_compoundres()
NFSD: Remove "inline" directives on op_rsize_bop helpers
NFSD: Remove unused nfsd4_compoundargs::cachetype field
NFSD: Pack struct nfsd4_compoundres
NFSD: Rename the fields in copy_stateid_t
NFSD: Cap rsize_bop result based on send buffer size
NFSD: Fix reads with a non-zero offset that don't end on a page boundary
NFSD: Finish converting the NFSv2 GETACL result encoder
NFSD: Finish converting the NFSv3 GETACL result encoder
NFSD: Pass the target nfsd_file to nfsd_commit()
NFSD: Revert "NFSD: NFSv4 CLOSE should release an nfsd_file immediately"
NFSD: Add an NFSD_FILE_GC flag to enable nfsd_file garbage collection
NFSD: Flesh out a documenting comment for filecache.c
NFSD: Clean up nfs4_preprocess_stateid_op() call sites
NFSD: Trace stateids returned via DELEGRETURN
NFSD: Trace delegation revocations
NFSD: Use const pointers as parameters to fh_ helpers
NFSD: Update file_hashtbl() helpers
NFSD: Clean up nfsd4_init_file()
NFSD: Add a nfsd4_file_hash_remove() helper
NFSD: Clean up find_or_add_file()
NFSD: Refactor find_file()
NFSD: Use rhashtable for managing nfs4_file objects
NFSD: Fix licensing header in filecache.c
NFSD: Add an nfsd_file_fsync tracepoint
NFSD: Use only RQ_DROPME to signal the need to drop a reply Revert "SUNRPC: Use RMW bitops in single-threaded hot paths"
NFSD: Use set_bit(RQ_DROPME)
NFSD: copy the whole verifier in nfsd_copy_write_verifier
NFSD: Protect against filesystem freezing
NFSD: Avoid calling OPDESC() with ops->opnum == OP_ILLEGAL
NFSD: Convert filecache to rhltable
NFSD: Add an nfsd4_encode_nfstime4() helper
nfsd: don't allow nfsd threads to be signalled.
Documentation: Add missing documentation for EXPORT_OP flags

Colin Ian King (4):
nfsd: remove redundant assignment to pointer 'this'
NFSD: Initialize pointer ni with NULL and not plain integer 0
nfsd: remove redundant assignment to variable len
NFSD: Remove redundant assignment to variable host_err

Dai Ngo (26):
NFSv4_2: SSC helper should use its own config.
NFSv4.2: Remove ifdef CONFIG_NFSD from NFSv4.2 client SSC code.
NFSD: delay unmount source's export after inter-server copy completed.
nfsd: fix kernel test robot warning in SSC code
fs/lock: documentation cleanup. Replace inode->i_lock with flc_lock.
NFSD: add courteous server support for thread with only delegation
NFSD: add support for share reservation conflict to courteous server
NFSD: move create/destroy of laundry_wq to init_nfsd and exit_nfsd fs/lock: add helper locks_owner_has_blockers to check for blockers fs/lock: add 2 callbacks to lock_manager_operations to resolve conflict
NFSD: add support for lock conflict to courteous server
NFSD: Show state of courtesy client in client info
NFSD: refactoring v4 specific code to a helper in nfs4state.c
NFSD: keep track of the number of v4 clients in the system
NFSD: limit the number of v4 clients to 1024 per 1GB of system memory
NFSD: keep track of the number of courtesy clients in the system
NFSD: add shrinker to reap courtesy clients on low memory condition
NFSD: refactoring courtesy_client_reaper to a generic low memory shrinker
NFSD: add support for sending CB_RECALL_ANY
NFSD: add delegation reaper to react to low memory condition
NFSD: register/unregister of nfsd-client shrinker at nfsd startup/shutdown time
NFSD: replace delayed_work with work_struct for nfsd_client_shrinker
NFSD: enhance inter-server copy cleanup
NFSD: fix leaked reference count of nfsd4_ssc_umount_item
NFSD: fix problems with cleanup on errors in nfsd4_copy
NFSD: Fix problem of COMMIT and NFS4ERR_DELAY in infinite loop

Dan Carpenter (1):
nfsd: fix double fget() bug in __write_ports_addfd()

Dave Wysochanski (1):
nfsd4: Expose the callback address and state of each NFS4 client

David Disseldorp (1):
exportfs: use pr_debug for unreachable debug statements

Eric W. Biederman (24):
exec: Don't open code get_close_on_exec
exec: Move unshare_files to fix posix file locking during exec
exec: Simplify unshare_files
exec: Remove reset_files_struct
kcmp: In kcmp_epoll_target use fget_task
bpf: In bpf_task_fd_query use fget_task
proc/fd: In proc_fd_link use fget_task
file: Rename __fcheck_files to files_lookup_fd_raw
file: Factor files_lookup_fd_locked out of fcheck_files
file: Replace fcheck_files with files_lookup_fd_rcu
file: Rename fcheck lookup_fd_rcu
file: Implement task_lookup_fd_rcu
proc/fd: In tid_fd_mode use task_lookup_fd_rcu
kcmp: In get_file_raw_ptr use task_lookup_fd_rcu
file: Implement task_lookup_next_fd_rcu
proc/fd: In proc_readfd_common use task_lookup_next_fd_rcu proc/fd: In fdinfo seq_show don't use get_files_struct
file: Merge __fd_install into fd_install
file: In f_dupfd read RLIMIT_NOFILE once.
file: Merge __alloc_fd into alloc_fd
file: Rename __close_fd to close_fd and remove the files parameter
file: Replace ksys_close with close_fd
exit: Implement kthread_exit
exit: Rename module_put_and_exit to module_put_and_kthread_exit

Gabriel Krisman Bertazi (24):
fsnotify: Don't insert unmergeable events in hashtable
fanotify: Fold event size calculation to its own function
fanotify: Split fsid check from other fid mode checks
inotify: Don't force FS_IN_IGNORED
fsnotify: Add helper to detect overflow_event
fsnotify: Add wrapper around fsnotify_add_event
fsnotify: Retrieve super block from the data field
fsnotify: Protect fsnotify_handle_inode_event from no-inode events
fsnotify: Pass group argument to free_event
fanotify: Support null inode event in fanotify_dfid_inode
fanotify: Allow file handle encoding for unhashed events
fanotify: Encode empty file handle when no inode is provided
fanotify: Require fid_mode for any non-fd event
fsnotify: Support FS_ERROR event type
fanotify: Reserve UAPI bits for FAN_FS_ERROR
fanotify: Pre-allocate pool of error events
fanotify: Support enqueueing of error events
fanotify: Support merging of error events
fanotify: Wrap object_fh inline space in a creator macro
fanotify: Add helpers to decide whether to report FID/DFID
fanotify: WARN_ON against too large file handles
fanotify: Report fid info for file related file system errors
fanotify: Emit generic error info for error event
fanotify: Allow users to request FAN_FS_ERROR events

Gaosheng Cui (3):
nfsd: remove nfsd4_prepare_cb_recall() declaration
fsnotify: remove unused declaration
fanotify: Remove obsoleted fanotify_event_has_path()

Greg Kroah-Hartman (1):

      Linux 5.10.220

Guobin Huang (1):
NFSD: Use DEFINE_SPINLOCK() for spinlock

Gustavo A. R. Silva (2):
UAPI: nfsfh.h: Replace one-element array with flexible-array member
nfsd: Fix fall-through warnings for Clang

Haowen Bai (1):
SUNRPC: Return true/false (not 1/0) from bool functions

Huang Guobin (1):
nfsd: Fix error return code in nfsd_file_cache_init()

J. Bruce Fields (41):
nfsd: only call inode_query_iversion in the I_VERSION case
nfsd: simplify nfsd4_change_info
nfsd: minor nfsd4_change_attribute cleanup
nfsd4: don't query change attribute in v2/v3 case Revert "nfsd4: support change_attr_type attribute"
nfsd4: simplify process_lookup1
nfsd: simplify process_lock
nfsd: simplify nfsd_renew
nfsd: rename lookup_clientid->set_client
nfsd: refactor set_client
nfsd: find_cpntf_state cleanup
nfsd: remove unused set_client argument
nfsd: simplify nfsd4_check_open_reclaim
nfsd: cstate->session->se_client -> cstate->clp
nfs: use change attribute for NFS re-exports
nfsd: skip some unnecessary stats in the v4 case
nfsd: helper for laundromat expiry calculations
nfsd: COPY with length 0 should copy to end of file
nfsd: don't ignore high bits of copy count
nfsd: hash nfs4_files by inode number
nfsd: track filehandle aliasing in nfs4_files
nfsd: reshuffle some code
nfsd: grant read delegations to clients holding writes
nfsd: move some commit_metadata()s outside the inode lock
nfsd: move fsnotify on client creation outside spinlock
nfsd: rpc_peeraddr2str needs rcu lock
nfsd: fix NULL dereference in nfs3svc_encode_getaclres
nlm: minor nlm_lookup_file argument change
nlm: minor refactoring
lockd: update nlm_lookup_file reexport comment Keep read and write fds with each nlm_file
nfs: don't atempt blocking locks on nfs reexports
lockd: don't attempt blocking locks on nfs reexports
nfs: don't allow reexport reclaims
nfsd: update create verifier comment
nfsd4: remove obselete comment
nfsd: improve stateid access bitmask documentation
nfs: block notification on fs with its own ->lock
nfsd: fix crash on COPY_NOTIFY with special stateid
lockd: fix server crash on reboot of client holding lock
lockd: fix failure to cleanup client locks

Jakob Koschel (1):
nfsd: fix using the correct variable for sizeof()

Jeff Layton (58):
nfsd: add a new EXPORT_OP_NOWCC flag to struct export_operations
nfsd: allow filesystems to opt out of subtree checking
nfsd: close cached files prior to a REMOVE or RENAME that would replace target
nfsd: Add errno mapping for EREMOTEIO
nfsd: Retry once in nfsd_open on an -EOPENSTALE return
lockd: set fl_owner when unlocking files
lockd: fix nlm_close_files
nfsd: eliminate the NFSD_FILE_BREAK_* flags
nfsd: silence extraneous printk on nfsd.ko insertion
NFSD: drop fh argument from alloc_init_deleg
NFSD: verify the opened dentry after setting a delegation
lockd: detect and reject lock arguments that overflow
nfsd: clean up mounted_on_fileid handling
nfsd: only fill out return pointer on success in nfsd4_lookup_stateid
nfsd: fix comments about spinlock handling with delegations
nfsd: make nfsd4_run_cb a bool return function
nfsd: extra checks when freeing delegation stateids
nfsd: fix nfsd_file_unhash_and_dispose
nfsd: rework hashtable handling in nfsd_do_file_acquire
nfsd: fix net-namespace logic in __nfsd_file_cache_purge
nfsd: fix use-after-free in nfsd_file_do_acquire tracepoint
nfsd: put the export reference in nfsd4_verify_deleg_dentry
filelock: add a new locks_inode_context accessor function
lockd: use locks_inode_context helper
nfsd: use locks_inode_context helper
nfsd: ignore requests to disable unsupported versions
nfsd: move nfserrno() to vfs.c
nfsd: allow disabling NFSv2 at compile time
nfsd: remove the pages_flushed statistic from filecache
nfsd: reorganize filecache.c
nfsd: fix up the filecache laundrette scheduling
nfsd: return error if nfs4_setacl fails
lockd: set missing fl_flags field when retrieving args
lockd: ensure we use the correct file descriptor when unlocking
lockd: fix file selection in nlmsvc_cancel_blocked
nfsd: rework refcounting in filecache
nfsd: fix handling of cached open files in nfsd4_open codepath
nfsd: don't free files unconditionally in __nfsd_file_cache_purge
nfsd: don't destroy global nfs4_file table in per-net shutdown
nfsd: allow nfsd_file_get to sanely handle a NULL pointer
nfsd: clean up potential nfsd_file refcount leaks in COPY codepath
nfsd: don't hand out delegation on setuid files being opened for write
nfsd: fix courtesy client with deny mode handling in nfs4_upgrade_open
nfsd: don't fsync nfsd_files on last close
lockd: set file_lock start and end when decoding nlm4 testargs
nfsd: don't replace page in rq_pages if it's a continuation of last page
nfsd: call op_release, even when op_func returns an error
nfsd: don't open-code clear_and_wake_up_bit
nfsd: NFSD_FILE_KEY_INODE only needs to find GC'ed entries
nfsd: simplify test_bit return in NFSD_FILE_KEY_FULL comparator
nfsd: don't kill nfsd_files because of lease break error
nfsd: add some comments to nfsd_file_do_acquire
nfsd: don't take/put an extra reference when putting a file
nfsd: update comment over __nfsd_file_cache_purge
nfsd: allow reaping files still under writeback
nfsd: simplify the delayed disposal list code
nfsd: make a copy of struct iattr before calling notify_change
nfsd: drop the nfsd_put helper

Jia He (2):
sysctl: introduce new proc handler proc_dobool
lockd: change the proc_handler for nsm_use_hostnames

Jiapeng Chong (2):
nfsd: remove unused function
NFSD: Fix inconsistent indenting

Jinpeng Cui (1):
NFSD: remove redundant variable status

Julian Schroeder (1):
nfsd: destroy percpu stats counters after reply cache shutdown

Kees Cook (1):
NFSD: Avoid clashing function prototypes

Matthew Bobrowski (5):
kernel/pid.c: remove static qualifier from pidfd_create() kernel/pid.c: implement additional checks upon pidfd_create() parameters
fanotify: minor cosmetic adjustments to fid labels
fanotify: introduce a generic info record copying helper
fanotify: add pidfd support to the fanotify API

NeilBrown (48):
nfsd: report client confirmation status in "info" file
NFSD: remove vanity comments
NFSD: move filehandle format declarations out of "uapi".
NFSD: drop support for ancient filehandles
NFSD: simplify struct nfsfh
NFSD: handle errors better in write_ports_addfd()
SUNRPC: change svc_get() to return the svc.
SUNRPC/NFSD: clean up get/put functions.
SUNRPC: stop using ->sv_nrthreads as a refcount
nfsd: make nfsd_stats.th_cnt atomic_t
SUNRPC: use sv_lock to protect updates to sv_nrthreads.
NFSD: narrow nfsd_mutex protection in nfsd thread
NFSD: Make it possible to use svc_set_num_threads_sync
SUNRPC: discard svo_setup and rename svc_set_num_threads_sync()
NFSD: simplify locking for network notifier.
lockd: introduce nlmsvc_serv
lockd: simplify management of network status notifiers
lockd: move lockd_start_svc() call into lockd_create_svc()
lockd: move svc_exit_thread() into the thread
lockd: introduce lockd_put()
lockd: rename lockd_create_svc() to lockd_get()
SUNRPC: move the pool_map definitions (back) into svc.c
SUNRPC: always treat sv_nrpools==1 as "not pooled"
lockd: use svc_set_num_threads() for thread start and stop
NFS: switch the callback service back to non-pooled.
NFSD: simplify per-net file cache management
NFS: restore module put when manager exits.
NFSD: introduce struct nfsd_attrs
NFSD: set attributes when creating symlinks
NFSD: add security label to struct nfsd_attrs
NFSD: add posix ACLs to struct nfsd_attrs
NFSD: change nfsd_create()/nfsd_symlink() to unlock directory before returning.
NFSD: always drop directory lock in nfsd_unlink()
NFSD: only call fh_unlock() once in nfsd_link()
NFSD: reduce locking in nfsd_lookup()
NFSD: use explicit lock/unlock for directory ops
NFSD: use (un)lock_inode instead of fh_(un)lock for file operations
NFSD: discard fh_locked flag and fh_lock/fh_unlock
NFSD: fix regression with setting ACLs.
NFSD: drop fname and flen args from nfsd_create_locked()
lockd: drop inappropriate svc_get() from locked_get()
nfsd: Simplify code around svc_exit_thread() call in nfsd()
nfsd: separate nfsd_last_thread() from nfsd_put()
NFSD: fix possible oops when nfsd/pool_stats is closed.
nfsd: call nfsd_last_thread() before final nfsd_put()
nfsd: fix RELEASE_LOCKOWNER
nfsd: don't take fi_lock in nfsd_break_deleg_cb()
nfsd: don't call locks_release_private() twice concurrently

Olga Kornievskaia (2):
NFSD add vfs_fsync after async copy is done NFSD enforce filehandle check for source file in COPY

Oliver Ford (1):
fs: inotify: Fix typo in inotify comment

Ondrej Valousek (1):
nfsd: Add support for the birth time attribute

Paul Menzel (1):
nfsd: Log client tracking type log message as info instead of warning

Peng Tao (1):
nfsd: map EBADF

Ricardo Ribalda (1):
nfsd: Fix typo "accesible"

Shakeel Butt (1):
inotify, memcg: account inotify instances to kmemcg

Tavian Barnes (1):
nfsd: Fix creation time serialization order

Tetsuo Handa (1):
NFSD: unregister shrinker when nfsd_init_net() fails

Tom Rix (1):
NFSD: A semicolon is not needed after a switch statement.

Trond Myklebust (11):
exportfs: Add a function to return the raw output from fh_to_dentry()
nfsd: Fix up nfsd to ensure that timeout errors don't result in ESTALE
nfsd: Set PF_LOCAL_THROTTLE on local filesystems only
nfsd: Record NFSv4 pre/post-op attributes as non-atomic
NFS: fix nfs_fetch_iversion()
nfsd: Fix a warning for nfsd_file_close_inode
nfsd: Add a tracepoint for errors in nfsd4_clone_file_range()
nfsd: Fix a write performance regression
nfsd: Clean up nfsd_file_put()
lockd: set other missing fields when unlocking files
nfsd: Fix a regression in nfsd_setattr()

Vasily Averin (3):
nfsd: removed unused argument in nfsd_startup_generic()
nfsd4: add refcount for nfsd4_blocked_lock
fanotify: fix incorrect fmode_t casts

Waiman Long (1):
inotify: Increase default inotify.max_user_watches limit to 1048576

Wei Yongjun (1):
NFSD: Fix error return code in nfsd4_interssc_connect()

Wolfram Sang (2):
NFSD: move from strlcpy with unused retval to strscpy
lockd: move from strlcpy with unused retval to strscpy

Xin Gao (1):
fsnotify: Fix comment typo

Xingyuan Mo (1):
NFSD: fix use-after-free in nfsd4_ssc_setup_dul()

Xiu Jianfeng (1):
NFSD: Use struct_size() helper in alloc_session()

Yang Li (1):
fanotify: remove variable set but not used

Yu Hsiang Huang (1):
nfsd: Prevent truncation of an unlinked inode from blocking access to its directory

Zhang Jiaming (1):
NFSD: Fix space and spelling mistake

Zhang Xiaoxu (2):
nfsd: Unregister the cld notifier when laundry_wq create failed
nfsd: Fix null-ptr-deref in nfsd_fill_super()

Zheng Yongjun (1):
fs/lockd: convert comma to semicolon

author maintainer
#1 lore raw
Documentation/filesystems/files.rst +4 -4
index cbf8e57376bf..bcf84459917f 100644
@@ -62,7 +62,7 @@ the fdtable structure -
    be held.
 
 4. To look up the file structure given an fd, a reader
-   must use either fcheck() or fcheck_files() APIs. These
+   must use either lookup_fd_rcu() or files_lookup_fd_rcu() APIs. These
    take care of barrier requirements due to lock-free lookup.
 
    An example::
@@ -70,7 +70,7 @@ the fdtable structure -
 	struct file *file;
 
 	rcu_read_lock();
-	file = fcheck(fd);
+	file = lookup_fd_rcu(fd);
 	if (file) {
 		...
 	}
@@ -84,7 +84,7 @@ the fdtable structure -
    on ->f_count::
 
 	rcu_read_lock();
-	file = fcheck_files(files, fd);
+	file = files_lookup_fd_rcu(files, fd);
 	if (file) {
 		if (atomic_long_inc_not_zero(&file->f_count))
 			*fput_needed = 1;
@@ -104,7 +104,7 @@ the fdtable structure -
    lock-free, they must be installed using rcu_assign_pointer()
    API. If they are looked up lock-free, rcu_dereference()
    must be used. However it is advisable to use files_fdtable()
-   and fcheck()/fcheck_files() which take care of these issues.
+   and lookup_fd_rcu()/files_lookup_fd_rcu() which take care of these issues.
 
 7. While updating, the fdtable pointer must be looked up while
    holding files->file_lock. If ->file_lock is dropped, then
Documentation/filesystems/locking.rst +7 -3
index fbd695d66905..23a0d24168bc 100644
@@ -433,17 +433,21 @@ prototypes::
 	void (*lm_break)(struct file_lock *); /* break_lease callback */
 	int (*lm_change)(struct file_lock **, int);
 	bool (*lm_breaker_owns_lease)(struct file_lock *);
+        bool (*lm_lock_expirable)(struct file_lock *);
+        void (*lm_expire_lock)(void);
 
 locking rules:
 
 ======================	=============	=================	=========
-ops			inode->i_lock	blocked_lock_lock	may block
+ops			   flc_lock  	blocked_lock_lock	may block
 ======================	=============	=================	=========
-lm_notify:		yes		yes			no
+lm_notify:		no      	yes			no
 lm_grant:		no		no			no
 lm_break:		yes		no			no
 lm_change		yes		no			no
-lm_breaker_owns_lease:	no		no			no
+lm_breaker_owns_lease:	yes     	no			no
+lm_lock_expirable	yes		no			no
+lm_expire_lock		no		no			yes
 ======================	=============	=================	=========
 
 buffer_head
Documentation/filesystems/nfs/exporting.rst +78 -0

87 lines not on this page · raw message

Makefile +1 -1
index 3b36b77589f2..9304408d8ace 100644
@@ -1,7 +1,7 @@
 # SPDX-License-Identifier: GPL-2.0
 VERSION = 5
 PATCHLEVEL = 10
-SUBLEVEL = 219
+SUBLEVEL = 220
 EXTRAVERSION =
 NAME = Dare mighty things
 
arch/powerpc/platforms/cell/spufs/coredump.c +1 -1
index 026c181a98c5..60b5583e9eaf 100644
@@ -74,7 +74,7 @@ static struct spu_context *coredump_next_context(int *fd)
 	*fd = n - 1;
 
 	rcu_read_lock();
-	file = fcheck(*fd);
+	file = lookup_fd_rcu(*fd);
 	ctx = SPUFS_I(file_inode(file))->i_ctx;
 	get_spu_context(ctx);
 	rcu_read_unlock();
crypto/algboss.c +2 -2
index 5ebccbd6b74e..b87f907bb142 100644
@@ -74,7 +74,7 @@ static int cryptomgr_probe(void *data)
 	complete_all(&param->larval->completion);
 	crypto_alg_put(&param->larval->alg);
 	kfree(param);
-	module_put_and_exit(0);
+	module_put_and_kthread_exit(0);
 }
 
 static int cryptomgr_schedule_probe(struct crypto_larval *larval)
@@ -209,7 +209,7 @@ static int cryptomgr_test(void *data)
 	crypto_alg_tested(param->driver, err);
 
 	kfree(param);
-	module_put_and_exit(0);
+	module_put_and_kthread_exit(0);
 }
 
 static int cryptomgr_schedule_test(struct crypto_alg *alg)
fs/Kconfig +5 -1
index da524c4d7b7e..11b60d160f88 100644
@@ -320,7 +320,7 @@ config LOCKD
 
 config LOCKD_V4
 	bool
-	depends on NFSD_V3 || NFS_V3
+	depends on NFSD || NFS_V3
 	depends on FILE_LOCKING
 	default y
 
@@ -333,6 +333,10 @@ config NFS_COMMON
 	depends on NFSD || NFS_FS || LOCKD
 	default y
 
+config NFS_V4_2_SSC_HELPER
+	bool
+	default y if NFS_V4_2
+
 source "net/sunrpc/Kconfig"
 source "fs/ceph/Kconfig"
 source "fs/cifs/Kconfig"
fs/autofs/dev-ioctl.c +3 -2
index 322b7dfb4ea0..5bf781ea6d67 100644
@@ -4,9 +4,10 @@
  * Copyright 2008 Ian Kent <[email protected]>
  */
 
+#include <linux/module.h>
 #include <linux/miscdevice.h>
 #include <linux/compat.h>
-#include <linux/syscalls.h>
+#include <linux/fdtable.h>
 #include <linux/magic.h>
 #include <linux/nospec.h>
 
@@ -289,7 +290,7 @@ static int autofs_dev_ioctl_closemount(struct file *fp,
 				       struct autofs_sb_info *sbi,
 				       struct autofs_dev_ioctl *param)
 {
-	return ksys_close(param->ioctlfd);
+	return close_fd(param->ioctlfd);
 }
 
 /*
fs/cachefiles/namei.c +7 -2
index ecc8ecbbfa5a..7b987de0babe 100644
@@ -412,9 +412,14 @@ static int cachefiles_bury_object(struct cachefiles_cache *cache,
 	if (ret < 0) {
 		cachefiles_io_error(cache, "Rename security error %d", ret);
 	} else {
+		struct renamedata rd = {
+			.old_dir	= d_inode(dir),
+			.old_dentry	= rep,
+			.new_dir	= d_inode(cache->graveyard),
+			.new_dentry	= grave,
+		};
 		trace_cachefiles_rename(object, rep, grave, why);
-		ret = vfs_rename(d_inode(dir), rep,
-				 d_inode(cache->graveyard), grave, NULL, 0);
+		ret = vfs_rename(&rd);
 		if (ret != 0 && ret != -ENOMEM)
 			cachefiles_io_error(cache,
 					    "Rename failed with error %d", ret);
fs/cifs/connect.c +1 -1
index 164b98540716..a3c0e6a4e484 100644
@@ -1242,7 +1242,7 @@ cifs_demultiplex_thread(void *p)
 	}
 
 	memalloc_noreclaim_restore(noreclaim_flag);
-	module_put_and_exit(0);
+	module_put_and_kthread_exit(0);
 }
 
 /* extract the host portion of the UNC string */
fs/coredump.c +1 -4
index 9d91e831ed0b..7b085975ea16 100644
@@ -590,7 +590,6 @@ void do_coredump(const kernel_siginfo_t *siginfo)
 	int ispipe;
 	size_t *argv = NULL;
 	int argc = 0;
-	struct files_struct *displaced;
 	/* require nonrelative corefile path and be extra careful */
 	bool need_suid_safe = false;
 	bool core_dumped = false;
@@ -797,11 +796,9 @@ void do_coredump(const kernel_siginfo_t *siginfo)
 	}
 
 	/* get us an unshared descriptor table; almost always a no-op */
-	retval = unshare_files(&displaced);
+	retval = unshare_files();
 	if (retval)
 		goto close_fail;
-	if (displaced)
-		put_files_struct(displaced);
 	if (!dump_interrupted()) {
 		/*
 		 * umh disabled with CONFIG_STATIC_USERMODEHELPER_PATH="" would
fs/ecryptfs/inode.c +7 -3
index c867a0d62f36..1dbe0c3ff38e 100644
@@ -598,6 +598,7 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,
 	struct dentry *lower_new_dir_dentry;
 	struct dentry *trap;
 	struct inode *target_inode;
+	struct renamedata rd = {};
 
 	if (flags)
 		return -EINVAL;
@@ -627,9 +628,12 @@ ecryptfs_rename(struct inode *old_dir, struct dentry *old_dentry,
 		rc = -ENOTEMPTY;
 		goto out_lock;
 	}
-	rc = vfs_rename(d_inode(lower_old_dir_dentry), lower_old_dentry,
-			d_inode(lower_new_dir_dentry), lower_new_dentry,
-			NULL, 0);
+
+	rd.old_dir	= d_inode(lower_old_dir_dentry);
+	rd.old_dentry	= lower_old_dentry;
+	rd.new_dir	= d_inode(lower_new_dir_dentry);
+	rd.new_dentry	= lower_new_dentry;
+	rc = vfs_rename(&rd);
 	if (rc)
 		goto out_lock;
 	if (target_inode)
fs/exec.c +13 -16
index ebe9011955b9..d5c8f085235b 100644
@@ -1264,6 +1264,11 @@ int begin_new_exec(struct linux_binprm * bprm)
 	if (retval)
 		goto out;
 
+	/* Ensure the files table is not shared. */
+	retval = unshare_files();
+	if (retval)
+		goto out;
+
 	/*
 	 * Must be called _before_ exec_mmap() as bprm->mm is
 	 * not visibile until then. This also enables the update
@@ -1789,7 +1794,6 @@ static int bprm_execve(struct linux_binprm *bprm,
 		       int fd, struct filename *filename, int flags)
 {
 	struct file *file;
-	struct files_struct *displaced;
 	int retval;
 
 	/*
@@ -1797,13 +1801,9 @@ static int bprm_execve(struct linux_binprm *bprm,
 	 */
 	io_uring_task_cancel();
 
-	retval = unshare_files(&displaced);
-	if (retval)
-		return retval;
-
 	retval = prepare_bprm_creds(bprm);
 	if (retval)
-		goto out_files;
+		return retval;
 
 	check_unsafe_exec(bprm);
 	current->in_execve = 1;
@@ -1818,11 +1818,14 @@ static int bprm_execve(struct linux_binprm *bprm,
 	bprm->file = file;
 	/*
 	 * Record that a name derived from an O_CLOEXEC fd will be
-	 * inaccessible after exec. Relies on having exclusive access to
-	 * current->files (due to unshare_files above).
+	 * inaccessible after exec.  This allows the code in exec to
+	 * choose to fail when the executable is not mmaped into the
+	 * interpreter and an open file descriptor is not passed to
+	 * the interpreter.  This makes for a better user experience
+	 * than having the interpreter start and then immediately fail
+	 * when it finds the executable is inaccessible.
 	 */
-	if (bprm->fdpath &&
-	    close_on_exec(fd, rcu_dereference_raw(current->files->fdt)))
+	if (bprm->fdpath && get_close_on_exec(fd))
 		bprm->interp_flags |= BINPRM_FLAGS_PATH_INACCESSIBLE;
 
 	/* Set the unchanging part of bprm->cred */
@@ -1840,8 +1843,6 @@ static int bprm_execve(struct linux_binprm *bprm,
 	rseq_execve(current);
 	acct_update_integrals(current);
 	task_numa_free(current, false);
-	if (displaced)
-		put_files_struct(displaced);
 	return retval;
 
 out:
@@ -1858,10 +1859,6 @@ static int bprm_execve(struct linux_binprm *bprm,
 	current->fs->in_exec = 0;
 	current->in_execve = 0;
 
-out_files:
-	if (displaced)
-		reset_files_struct(displaced);
-
 	return retval;
 }
 
fs/exportfs/expfs.c +28 -12
index 2dd55b172d57..8c28bd1c9ed9 100644
@@ -18,7 +18,7 @@
 #include <linux/sched.h>
 #include <linux/cred.h>
 
-#define dprintk(fmt, args...) do{}while(0)
+#define dprintk(fmt, args...) pr_debug(fmt, ##args)
 
 
 static int get_name(const struct path *path, char *name, struct dentry *child);
@@ -132,8 +132,8 @@ static struct dentry *reconnect_one(struct vfsmount *mnt,
 	inode_unlock(dentry->d_inode);
 
 	if (IS_ERR(parent)) {
-		dprintk("%s: get_parent of %ld failed, err %d\n",
-			__func__, dentry->d_inode->i_ino, PTR_ERR(parent));
+		dprintk("get_parent of %lu failed, err %ld\n",
+			dentry->d_inode->i_ino, PTR_ERR(parent));
 		return parent;
 	}
 
@@ -147,7 +147,7 @@ static struct dentry *reconnect_one(struct vfsmount *mnt,
 	dprintk("%s: found name: %s\n", __func__, nbuf);
 	tmp = lookup_one_len_unlocked(nbuf, parent, strlen(nbuf));
 	if (IS_ERR(tmp)) {
-		dprintk("%s: lookup failed: %d\n", __func__, PTR_ERR(tmp));
+		dprintk("lookup failed: %ld\n", PTR_ERR(tmp));
 		err = PTR_ERR(tmp);
 		goto out_err;
 	}
@@ -417,9 +417,11 @@ int exportfs_encode_fh(struct dentry *dentry, struct fid *fid, int *max_len,
 }
 EXPORT_SYMBOL_GPL(exportfs_encode_fh);
 
-struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
-		int fh_len, int fileid_type,
-		int (*acceptable)(void *, struct dentry *), void *context)
+struct dentry *
+exportfs_decode_fh_raw(struct vfsmount *mnt, struct fid *fid, int fh_len,
+		       int fileid_type,
+		       int (*acceptable)(void *, struct dentry *),
+		       void *context)
 {
 	const struct export_operations *nop = mnt->mnt_sb->s_export_op;
 	struct dentry *result, *alias;
@@ -432,10 +434,8 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
 	if (!nop || !nop->fh_to_dentry)
 		return ERR_PTR(-ESTALE);
 	result = nop->fh_to_dentry(mnt->mnt_sb, fid, fh_len, fileid_type);
-	if (PTR_ERR(result) == -ENOMEM)
-		return ERR_CAST(result);
 	if (IS_ERR_OR_NULL(result))
-		return ERR_PTR(-ESTALE);
+		return result;
 
 	/*
 	 * If no acceptance criteria was specified by caller, a disconnected
@@ -561,10 +561,26 @@ struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
 
  err_result:
 	dput(result);
-	if (err != -ENOMEM)
-		err = -ESTALE;
 	return ERR_PTR(err);
 }
+EXPORT_SYMBOL_GPL(exportfs_decode_fh_raw);
+
+struct dentry *exportfs_decode_fh(struct vfsmount *mnt, struct fid *fid,
+				  int fh_len, int fileid_type,
+				  int (*acceptable)(void *, struct dentry *),
+				  void *context)
+{
+	struct dentry *ret;
+
+	ret = exportfs_decode_fh_raw(mnt, fid, fh_len, fileid_type,
+				     acceptable, context);
+	if (IS_ERR_OR_NULL(ret)) {
+		if (ret == ERR_PTR(-ENOMEM))
+			return ret;
+		return ERR_PTR(-ESTALE);
+	}
+	return ret;
+}
 EXPORT_SYMBOL_GPL(exportfs_decode_fh);
 
 MODULE_LICENSE("GPL");
fs/file.c +71 -106

288 lines not on this page · raw message

fs/init.c +3 -3
index e9c320a48cf1..02723bea8499 100644
@@ -49,7 +49,7 @@ int __init init_chdir(const char *filename)
 	error = kern_path(filename, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path);
 	if (error)
 		return error;
-	error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);
+	error = path_permission(&path, MAY_EXEC | MAY_CHDIR);
 	if (!error)
 		set_fs_pwd(current->fs, &path);
 	path_put(&path);
@@ -64,7 +64,7 @@ int __init init_chroot(const char *filename)
 	error = kern_path(filename, LOOKUP_FOLLOW | LOOKUP_DIRECTORY, &path);
 	if (error)
 		return error;
-	error = inode_permission(path.dentry->d_inode, MAY_EXEC | MAY_CHDIR);
+	error = path_permission(&path, MAY_EXEC | MAY_CHDIR);
 	if (error)
 		goto dput_and_out;
 	error = -EPERM;
@@ -118,7 +118,7 @@ int __init init_eaccess(const char *filename)
 	error = kern_path(filename, LOOKUP_FOLLOW, &path);
 	if (error)
 		return error;
-	error = inode_permission(d_inode(path.dentry), MAY_ACCESS);
+	error = path_permission(&path, MAY_ACCESS);
 	path_put(&path);
 	return error;
 }
fs/lockd/clnt4xdr.c +1 -8
index 7df6324ccb8a..8161667c976f 100644
@@ -261,7 +261,6 @@ static int decode_nlm4_holder(struct xdr_stream *xdr, struct nlm_res *result)
 	u32 exclusive;
 	int error;
 	__be32 *p;
-	s32 end;
 
 	memset(lock, 0, sizeof(*lock));
 	locks_init_lock(fl);
@@ -285,13 +284,7 @@ static int decode_nlm4_holder(struct xdr_stream *xdr, struct nlm_res *result)
 	fl->fl_type  = exclusive != 0 ? F_WRLCK : F_RDLCK;
 	p = xdr_decode_hyper(p, &l_offset);
 	xdr_decode_hyper(p, &l_len);
-	end = l_offset + l_len - 1;
-
-	fl->fl_start = (loff_t)l_offset;
-	if (l_len == 0 || end < 0)
-		fl->fl_end = OFFSET_MAX;
-	else
-		fl->fl_end = (loff_t)end;
+	nlm4svc_set_file_lock_range(fl, l_offset, l_len);
 	error = 0;
 out:
 	return error;
fs/lockd/clntproc.c +0 -3
index b11f2afa84f1..99fffc9cb958 100644
@@ -794,9 +794,6 @@ static void nlmclnt_cancel_callback(struct rpc_task *task, void *data)
 		goto retry_cancel;
 	}
 
-	dprintk("lockd: cancel status %u (task %u)\n",
-			status, task->tk_pid);
-
 	switch (status) {
 	case NLM_LCK_GRANTED:
 	case NLM_LCK_DENIED_GRACE_PERIOD:
fs/lockd/host.c +2 -2
index 771c289f6df7..cdc8e12cdac4 100644
@@ -163,8 +163,8 @@ static struct nlm_host *nlm_alloc_host(struct nlm_lookup_host_info *ni,
 	host->h_nsmhandle  = nsm;
 	host->h_addrbuf    = nsm->sm_addrbuf;
 	host->net	   = ni->net;
-	host->h_cred	   = get_cred(ni->cred),
-	strlcpy(host->nodename, utsname()->nodename, sizeof(host->nodename));
+	host->h_cred	   = get_cred(ni->cred);
+	strscpy(host->nodename, utsname()->nodename, sizeof(host->nodename));
 
 out:
 	return host;
fs/lockd/svc.c +106 -150

403 lines not on this page · raw message

fs/lockd/svc4proc.c +65 -5

302 lines not on this page · raw message

fs/lockd/svclock.c +42 -25

168 lines not on this page · raw message

fs/lockd/svcproc.c +57 -5

294 lines not on this page · raw message

fs/lockd/svcsubs.c +85 -38

224 lines not on this page · raw message

fs/lockd/svcxdr.h new file +142 -0

142 lines not on this page · raw message

fs/lockd/xdr.c +228 -226

546 lines not on this page · raw message

fs/lockd/xdr4.c +233 -233

145 lines not on this page · raw message

fs/locks.c +81 -21

102 lines not on this page · raw message

fs/namei.c +15 -6
index cb37d7c477e0..72521a614514 100644

Lines of this file are not shown. View the raw message.

fs/nfs/blocklayout/blocklayout.c +1 -1
index 73000aa2d220..a9e563145e0c 100644

Lines of this file are not shown. View the raw message.

fs/nfs/blocklayout/dev.c +1 -1
index 6e3a14fdff9c..16412d6636e8 100644

Lines of this file are not shown. View the raw message.

fs/nfs/callback.c +34 -77

111 lines not on this page · raw message

fs/nfs/callback_xdr.c +22 -11
index ca8a4aa351dc..db69fc267c9a 100644

Lines of this file are not shown. View the raw message.

fs/nfs/dir.c +1 -1
index 9f88ca7b2001..935029632d5f 100644

Lines of this file are not shown. View the raw message.

fs/nfs/export.c +17 -0
index 3430d6891e89..993be63ab301 100644

Lines of this file are not shown. View the raw message.

fs/nfs/file.c +3 -0
index 7be1a7f7fcb2..d35aae47b062 100644

Lines of this file are not shown. View the raw message.

fs/nfs/filelayout/filelayout.c +1 -3
index deecfb50dd7e..2ed8b6885b09 100644

Lines of this file are not shown. View the raw message.

fs/nfs/filelayout/filelayoutdev.c +1 -1
index d913e818858f..86c3f7e69ec4 100644

Lines of this file are not shown. View the raw message.

fs/nfs/flexfilelayout/flexfilelayout.c +1 -3
index e4f2820ba5a5..a263bfec4244 100644

Lines of this file are not shown. View the raw message.

fs/nfs/flexfilelayout/flexfilelayoutdev.c +1 -1
index 1f12297109b4..bfa7202ca7be 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs42xdr.c +1 -1
index f2248d9d4db5..df5bee2f505c 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4state.c +1 -1
index afb617a4a7e4..d8fc5d72a161 100644

Lines of this file are not shown. View the raw message.

fs/nfs/nfs4xdr.c +2 -4
index f1e599553f2b..4e5c6cb770ad 100644

Lines of this file are not shown. View the raw message.

fs/nfs/pagelist.c +0 -3
index 17fef6eb490c..d79a3b6cb070 100644

Lines of this file are not shown. View the raw message.

fs/nfs/super.c +8 -0
index b3fcc27b9564..1ffce9076060 100644

Lines of this file are not shown. View the raw message.

fs/nfs/write.c +0 -3
index 4cf060691979..2bde35921f2b 100644

Lines of this file are not shown. View the raw message.

fs/nfs_common/Makefile +1 -1
index fa82f5aaa6d9..119c75ab9fd0 100644

Lines of this file are not shown. View the raw message.

fs/nfs_common/nfs_ssc.c +0 -2
index f43bbb373913..7c1509e968c8 100644

Lines of this file are not shown. View the raw message.

fs/nfs_common/nfsacl.c +123 -0

123 lines not on this page · raw message

fs/nfsd/Kconfig +19 -17
index 248f1459c039..6d2d498a5957 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/Makefile +4 -4
index 3f0983e93a99..6fffc8f03f74 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/acl.h +4 -2
index ba14d2f4b64f..4b7324458a94 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/blocklayout.c +1 -0
index a07c39c94bbd..d91a686d2f31 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/blocklayoutxdr.c +1 -0
index 2455dc8be18a..1ed2f691ebb9 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/cache.h +1 -1
index 65c331f75e9c..f21259ead64b 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/export.c +66 -8

74 lines not on this page · raw message

fs/nfsd/export.h +15 -1
index e7daa1f246f0..d03f7f6a8642 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/filecache.c +668 -523

1,191 lines not on this page · raw message

fs/nfsd/filecache.h +14 -9
index 435ceab27897..e54165a3224f 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/flexfilelayout.c +2 -1
index db7ef07ae50c..fabc21ed68ce 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/lockd.c +7 -3
index 3f5b3d7b62b7..46a7f9b813e5 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/netns.h +43 -20

63 lines not on this page · raw message

fs/nfsd/nfs2acl.c +82 -134

216 lines not on this page · raw message

fs/nfsd/nfs3acl.c +68 -78

146 lines not on this page · raw message

fs/nfsd/nfs3proc.c +268 -128

396 lines not on this page · raw message

fs/nfsd/nfs3xdr.c +967 -784

1,751 lines not on this page · raw message

fs/nfsd/nfs4acl.c +7 -38

45 lines not on this page · raw message

fs/nfsd/nfs4callback.c +126 -42

168 lines not on this page · raw message

fs/nfsd/nfs4idmap.c +5 -4
index f92161ce1f97..5e9809aff37e 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4layouts.c +2 -2
index 2673019d30ec..e4e23b2a3e65 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4proc.c +704 -407

1,111 lines not on this page · raw message

fs/nfsd/nfs4recover.c +10 -10
index 83c4e6883953..189c622dde61 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/nfs4state.c +1337 -576

1,913 lines not on this page · raw message

fs/nfsd/nfs4xdr.c +1952 -1757

3,709 lines not on this page · raw message

fs/nfsd/nfscache.c +67 -48

115 lines not on this page · raw message

fs/nfsd/nfsctl.c +80 -89

169 lines not on this page · raw message

fs/nfsd/nfsd.h +41 -9

50 lines not on this page · raw message

fs/nfsd/nfsfh.c +169 -128

297 lines not on this page · raw message

fs/nfsd/nfsfh.h +91 -90

181 lines not on this page · raw message

fs/nfsd/nfsproc.c +128 -134

262 lines not on this page · raw message

fs/nfsd/nfssvc.c +158 -198

356 lines not on this page · raw message

fs/nfsd/nfsxdr.c +444 -400

844 lines not on this page · raw message

fs/nfsd/state.h +55 -14

69 lines not on this page · raw message

fs/nfsd/stats.c +77 -45

122 lines not on this page · raw message

fs/nfsd/stats.h +74 -22

96 lines not on this page · raw message

fs/nfsd/trace.c +1 -0
index 90967466a1e5..f008b95ceec2 100644

Lines of this file are not shown. View the raw message.

fs/nfsd/trace.h +792 -94

886 lines not on this page · raw message

fs/nfsd/vfs.c +472 -457

929 lines not on this page · raw message

fs/nfsd/vfs.h +35 -25

60 lines not on this page · raw message

fs/nfsd/xdr.h +34 -36

70 lines not on this page · raw message

fs/nfsd/xdr3.h +53 -63

116 lines not on this page · raw message

fs/nfsd/xdr4.h +68 -59

127 lines not on this page · raw message

fs/nfsd/xdr4cb.h +6 -0
index 547cf07cf4e0..0d39af1b00a0 100644

Lines of this file are not shown. View the raw message.

fs/notify/dnotify/dnotify.c +9 -8
index e45ca6ecba95..fa81c59a2ad4 100644

Lines of this file are not shown. View the raw message.

fs/notify/fanotify/fanotify.c +373 -112

485 lines not on this page · raw message

fs/notify/fanotify/fanotify.h +233 -19

252 lines not on this page · raw message

fs/notify/fanotify/fanotify_user.c +708 -170

878 lines not on this page · raw message

fs/notify/fdinfo.c +9 -10
index 765b50aeadd2..55081ae3a6ec 100644

Lines of this file are not shown. View the raw message.

fs/notify/fsnotify.c +106 -77

183 lines not on this page · raw message

fs/notify/fsnotify.h +15 -4
index ff2063ec6b0f..fde74eb333cc 100644

Lines of this file are not shown. View the raw message.

fs/notify/group.c +30 -8
index a4a4b1c64d32..1de6631a3925 100644

Lines of this file are not shown. View the raw message.

fs/notify/inotify/inotify.h +9 -2
index 8f00151eb731..7d5df7a21539 100644

Lines of this file are not shown. View the raw message.

fs/notify/inotify/inotify_fsnotify.c +7 -5
index 66991c7fef9e..993375f0db67 100644

Lines of this file are not shown. View the raw message.

fs/notify/inotify/inotify_user.c +59 -28

87 lines not on this page · raw message

fs/notify/mark.c +117 -55

172 lines not on this page · raw message

fs/notify/notification.c +37 -33

70 lines not on this page · raw message

fs/open.c +45 -4

49 lines not on this page · raw message

fs/overlayfs/overlayfs.h +8 -1
index 26f91868fbda..87b7a4a74f4e 100644

Lines of this file are not shown. View the raw message.

fs/proc/fd.c +15 -33

48 lines not on this page · raw message

fs/udf/file.c +1 -1
index e283a62701b8..25f7c915f22b 100644

Lines of this file are not shown. View the raw message.

fs/verity/enable.c +1 -1
index 5ceae66e1ae0..29becb66d0d8 100644

Lines of this file are not shown. View the raw message.

include/linux/dnotify.h +1 -1
index 0aad774beaec..b87c3b85a166 100644

Lines of this file are not shown. View the raw message.

include/linux/errno.h +1 -0
index d73f597a2484..8b0c754bab02 100644

Lines of this file are not shown. View the raw message.

include/linux/exportfs.h +15 -0
index 3ceb72b67a7a..218fc5c54e90 100644

Lines of this file are not shown. View the raw message.

include/linux/fanotify.h +62 -12

74 lines not on this page · raw message

include/linux/fdtable.h +20 -17
index f1a99d3e5570..4ed3589f9294 100644

Lines of this file are not shown. View the raw message.

include/linux/fs.h +51 -3

54 lines not on this page · raw message

include/linux/fsnotify.h +58 -19

77 lines not on this page · raw message

include/linux/fsnotify_backend.h +308 -64

372 lines not on this page · raw message

include/linux/iversion.h +13 -0
index 2917ef990d43..3bfebde5a1a6 100644

Lines of this file are not shown. View the raw message.

include/linux/kallsyms.h +4 -13
index 481273f0c72d..465060acc981 100644

Lines of this file are not shown. View the raw message.

include/linux/kthread.h +1 -0
index 2484ed97e72f..9dae77a97a03 100644

Lines of this file are not shown. View the raw message.

include/linux/lockd/bind.h +2 -1
index 0520c0cd73f4..3bc9f7410e21 100644

Lines of this file are not shown. View the raw message.

include/linux/lockd/lockd.h +14 -3
index 666f5f310a04..70ce419e2709 100644

Lines of this file are not shown. View the raw message.

include/linux/lockd/xdr.h +16 -19
index 7ab9f264313f..67e4a2c5500b 100644

Lines of this file are not shown. View the raw message.

include/linux/lockd/xdr4.h +14 -19
index e709fe5924f2..72831e35dca3 100644

Lines of this file are not shown. View the raw message.

include/linux/module.h +8 -16
index 6264617bab4d..a55a40c28568 100644

Lines of this file are not shown. View the raw message.

include/linux/nfs.h +0 -8
index 0dc7ad38a0da..b06375e88e58 100644

Lines of this file are not shown. View the raw message.

include/linux/nfs4.h +13 -8
index 9dc7eeac924f..ea88d0f462c9 100644

Lines of this file are not shown. View the raw message.

include/linux/nfs_ssc.h +14 -0
index f5ba0fbff72f..22265b1ff080 100644

Lines of this file are not shown. View the raw message.

include/linux/nfsacl.h +6 -0
index 103d44695323..8e76a79cdc6a 100644

Lines of this file are not shown. View the raw message.

include/linux/pid.h +1 -0
index fa10acb8d6a4..af308e15f174 100644

Lines of this file are not shown. View the raw message.

include/linux/sched/user.h +0 -3
index a8ec3b6093fc..3632c5d6ec55 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/msg_prot.h +0 -3
index 43f854487539..938c2bf29db8 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/svc.h +83 -68

151 lines not on this page · raw message

include/linux/sunrpc/svc_rdma.h +2 -2
index 9dc3a3b88391..2b870a3f391b 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/svc_xprt.h +9 -7
index aca35ab5cff2..dbffb92511ef 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/svcauth.h +2 -2
index b0003866a249..6d9cc9080aca 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/svcsock.h +3 -4
index b7ac7fe68306..a366d3eb0531 100644

Lines of this file are not shown. View the raw message.

include/linux/sunrpc/xdr.h +148 -5

153 lines not on this page · raw message

include/linux/syscalls.h +0 -12
index 17a24e1180da..1ea422b1a9f1 100644

Lines of this file are not shown. View the raw message.

include/linux/sysctl.h +2 -0
index c202a72e1690..47cf70c8eb93 100644

Lines of this file are not shown. View the raw message.

include/linux/user_namespace.h +4 -0
index 7616c7bf4b24..0793951867ae 100644

Lines of this file are not shown. View the raw message.

include/trace/events/sunrpc.h +17 -9
index 8220369ee610..56e4a57d2538 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/fanotify.h +42 -0

42 lines not on this page · raw message

include/uapi/linux/nfs3.h +6 -0
index 37e4b34e6b43..c22ab77713bd 100644

Lines of this file are not shown. View the raw message.

include/uapi/linux/nfsd/nfsfh.h deleted +0 -105

105 lines not on this page · raw message

kernel/audit_fsnotify.c +4 -4
index b2ebacd2f309..691f90dd09d2 100644

Lines of this file are not shown. View the raw message.

kernel/audit_tree.c +1 -1
index 39241207ec04..0c35879bbf7c 100644

Lines of this file are not shown. View the raw message.

kernel/audit_watch.c +2 -3
index edbeffee64b8..5cf22fe30149 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/inode.c +1 -1
index 6b14b4c4068c..5966013bc788 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/syscall.c +3 -17
index e1bee8cd3404..fbe7f8e2b022 100644

Lines of this file are not shown. View the raw message.

kernel/bpf/task_iter.c +1 -1
index f3d3a562a802..762b4d7c3779 100644

Lines of this file are not shown. View the raw message.

kernel/fork.c +6 -6
index 633b0af1d1a7..8b8a5a172b15 100644

Lines of this file are not shown. View the raw message.

kernel/kallsyms.c +7 -1
index fe9de067771c..8043a90aa50e 100644

Lines of this file are not shown. View the raw message.

kernel/kcmp.c +6 -23
index c0d2ad9b4705..5353edfad8e1 100644

Lines of this file are not shown. View the raw message.

kernel/kthread.c +19 -4
index 508fe5278285..9d6cc9c15a55 100644

Lines of this file are not shown. View the raw message.

kernel/livepatch/core.c +3 -4
index f5faf935c2d8..147ed154ebc7 100644

Lines of this file are not shown. View the raw message.

kernel/module.c +10 -16
index 72a5dcdccf7b..edc7b99cb16f 100644

Lines of this file are not shown. View the raw message.

kernel/pid.c +10 -5
index 4856818c9de1..0820f2c50bb0 100644

Lines of this file are not shown. View the raw message.

kernel/sys.c +1 -1
index efc213ae4c5a..7a2cfb57fa9e 100644

Lines of this file are not shown. View the raw message.

kernel/sysctl.c +53 -1

54 lines not on this page · raw message

kernel/trace/trace_kprobe.c +2 -2
index 718357289899..5453af26ff76 100644

Lines of this file are not shown. View the raw message.

kernel/ucount.c +4 -0
index 11b1596e2542..8d8874f1c35e 100644

Lines of this file are not shown. View the raw message.

mm/madvise.c +1 -1
index f71fc88f0b33..a63aa04ec7fa 100644

Lines of this file are not shown. View the raw message.

mm/memcontrol.c +1 -1
index ddc8ed096dec..186ae9dba0fd 100644

Lines of this file are not shown. View the raw message.

mm/mincore.c +1 -1
index 02db1a834021..7bdb4673f776 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/bnep/core.c +1 -1
index 43c284158f63..09b6d825124e 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/cmtp/core.c +1 -1
index 83eb84e8e688..90d130588a3e 100644

Lines of this file are not shown. View the raw message.

net/bluetooth/hidp/core.c +1 -1
index b946a6379433..3ff870599eb7 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/auth_gss/gss_rpc_xdr.c +1 -1
index e265b8d38aa1..a857fc99431c 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/auth_gss/svcauth_gss.c +25 -22

47 lines not on this page · raw message

net/sunrpc/sched.c +1 -0
index a00890962e11..a4c9d410eb8d 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/svc.c +151 -163

314 lines not on this page · raw message

net/sunrpc/svc_xprt.c +63 -41

104 lines not on this page · raw message

net/sunrpc/svcauth.c +4 -4
index 998b196b6176..5a8b8e03fdd4 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/svcauth_unix.c +11 -7
index 60754a292589..1868596259af 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/svcsock.c +10 -22
index 3d5ee042c501..cb0cfcd8a814 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/xdr.c +81 -31

112 lines not on this page · raw message

net/sunrpc/xprtrdma/svc_rdma_backchannel.c +1 -1
index c5154bc38e12..feac8c26fb87 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/xprtrdma/svc_rdma_sendto.c +11 -21
index c3d588b149aa..d6436c13d5c4 100644

Lines of this file are not shown. View the raw message.

net/sunrpc/xprtrdma/svc_rdma_transport.c +1 -1
index 5f7e3d12523f..c895f80df659 100644

Lines of this file are not shown. View the raw message.

net/unix/af_unix.c +1 -1
index 3ab726a668e8..405bf3e6eb79 100644

Lines of this file are not shown. View the raw message.

tools/objtool/check.c +2 -1
index 059b78d08f7a..0506a48f124c 100644

Lines of this file are not shown. View the raw message.

The rest of this diff is not shown. View the raw message.

Part of the diff is not shown here. View the raw message.