Web lists-archives.com

[PATCH 00/15] AFS fixes




Here's a set of patches for AFS that fix the following issues:

 (1) Leak of keys on file close.

 (2) Broken error handling in xattr functions.

 (3) Missing locking when updating VL server list.

 (4) Volume location server DNS lookup whereby preloaded cells may not ever
     get a lookup and regular DNS lookups to maintain server lists consume
     power unnecessarily.

 (5) Callback promise expiry time miscalculation.

 (6) Over invalidation of the callback promise on directories.

 (7) Double locking on callback break waking up file locking waiters.

 (8) Double increment of the vnode callback break counter.

The patches can be found here:

	http://git.kernel.org/cgit/linux/kernel/git/dhowells/linux-fs.git
	tag afs-fixes-20190515

David
---
David Howells (15):
      afs: Fix key leak in afs_release() and afs_evict_inode()
      afs: Fix incorrect error handling in afs_xattr_get_acl()
      afs: Fix afs_xattr_get_yfs() to not try freeing an error value
      afs: Fix missing lock when replacing VL server list
      afs: Fix afs_cell records to always have a VL server list record
      dns_resolver: Allow used keys to be invalidated
      Add wait_var_event_interruptible()
      afs: Fix cell DNS lookup
      rxrpc: Allow the kernel to mark a call as being non-interruptible
      afs: Make some RPC operations non-interruptible
      afs: Make dynamic root population wait uninterruptibly for proc_cells_lock
      afs: Fix calculation of callback expiry time
      afs: Don't invalidate callback if AFS_VNODE_DIR_VALID not set
      afs: Fix lock-wait/callback-break double locking
      afs: Fix double inc of vnode->cb_break


 Documentation/networking/rxrpc.txt |   11 ++
 fs/afs/addr_list.c                 |    2 
 fs/afs/callback.c                  |    8 --
 fs/afs/cell.c                      |  187 ++++++++++++++++++++++--------------
 fs/afs/dir.c                       |   18 ++-
 fs/afs/dir_silly.c                 |    4 -
 fs/afs/dynroot.c                   |    5 -
 fs/afs/file.c                      |    9 +-
 fs/afs/flock.c                     |    9 +-
 fs/afs/fsclient.c                  |   76 +++++++++------
 fs/afs/inode.c                     |   12 +-
 fs/afs/internal.h                  |   21 +++-
 fs/afs/proc.c                      |    8 +-
 fs/afs/rotate.c                    |   27 +++--
 fs/afs/rxrpc.c                     |    3 -
 fs/afs/security.c                  |    4 -
 fs/afs/super.c                     |    2 
 fs/afs/vl_list.c                   |   20 ++--
 fs/afs/vl_rotate.c                 |   28 ++++-
 fs/afs/write.c                     |    2 
 fs/afs/xattr.c                     |  103 ++++++++++----------
 fs/afs/yfsclient.c                 |   98 +++++++++----------
 fs/cifs/dns_resolve.c              |    2 
 fs/nfs/dns_resolve.c               |    2 
 include/linux/dns_resolver.h       |    3 -
 include/linux/wait_bit.h           |   13 +++
 include/net/af_rxrpc.h             |    1 
 net/ceph/messenger.c               |    2 
 net/dns_resolver/dns_query.c       |    6 +
 net/rxrpc/af_rxrpc.c               |    3 +
 net/rxrpc/ar-internal.h            |    2 
 net/rxrpc/call_object.c            |    2 
 net/rxrpc/conn_client.c            |    8 +-
 net/rxrpc/sendmsg.c                |    4 +
 34 files changed, 412 insertions(+), 293 deletions(-)