Merge tag 'afs-fixes-20190516' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs
Pull misc AFS fixes from David Howells: "This fixes a set of miscellaneous issues in the afs filesystem, including: - leak of keys on file close. - broken error handling in xattr functions. - missing locking when updating VL server list. - 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. - incorrect error propagation and handling in the fileserver iteration code causes operations to sometimes apparently succeed. - interruption of server record check/update side op during fileserver iteration causes uninterruptible main operations to fail unexpectedly. - callback promise expiry time miscalculation. - over invalidation of the callback promise on directories. - double locking on callback break waking up file locking waiters. - double increment of the vnode callback break counter. Note that it makes some changes outside of the afs code, including: - an extra parameter to dns_query() to allow the dns_resolver key just accessed to be immediately invalidated. AFS is caching the results itself, so the key can be discarded. - an interruptible version of wait_var_event(). - an rxrpc function to allow the maximum lifespan to be set on a call. - a way for an rxrpc call to be marked as non-interruptible" * tag 'afs-fixes-20190516' of git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-fs: afs: Fix double inc of vnode->cb_break afs: Fix lock-wait/callback-break double locking afs: Don't invalidate callback if AFS_VNODE_DIR_VALID not set afs: Fix calculation of callback expiry time afs: Make dynamic root population wait uninterruptibly for proc_cells_lock afs: Make some RPC operations non-interruptible rxrpc: Allow the kernel to mark a call as being non-interruptible afs: Fix error propagation from server record check/update afs: Fix the maximum lifespan of VL and probe calls rxrpc: Provide kernel interface to set max lifespan on a call afs: Fix "kAFS: AFS vnode with undefined type 0" afs: Fix cell DNS lookup Add wait_var_event_interruptible() dns_resolver: Allow used keys to be invalidated afs: Fix afs_cell records to always have a VL server list record afs: Fix missing lock when replacing VL server list afs: Fix afs_xattr_get_yfs() to not try freeing an error value afs: Fix incorrect error handling in afs_xattr_get_acl() afs: Fix key leak in afs_release() and afs_evict_inode()
No related branches found
No related tags found
Showing
- Documentation/networking/rxrpc.txt 20 additions, 1 deletionDocumentation/networking/rxrpc.txt
- fs/afs/addr_list.c 1 addition, 1 deletionfs/afs/addr_list.c
- fs/afs/afs.h 3 additions, 0 deletionsfs/afs/afs.h
- fs/afs/callback.c 1 addition, 7 deletionsfs/afs/callback.c
- fs/afs/cell.c 113 additions, 74 deletionsfs/afs/cell.c
- fs/afs/dir.c 9 additions, 9 deletionsfs/afs/dir.c
- fs/afs/dir_silly.c 2 additions, 2 deletionsfs/afs/dir_silly.c
- fs/afs/dynroot.c 2 additions, 3 deletionsfs/afs/dynroot.c
- fs/afs/file.c 5 additions, 4 deletionsfs/afs/file.c
- fs/afs/flock.c 3 additions, 6 deletionsfs/afs/flock.c
- fs/afs/fsclient.c 46 additions, 31 deletionsfs/afs/fsclient.c
- fs/afs/inode.c 5 additions, 7 deletionsfs/afs/inode.c
- fs/afs/internal.h 15 additions, 7 deletionsfs/afs/internal.h
- fs/afs/proc.c 4 additions, 4 deletionsfs/afs/proc.c
- fs/afs/rotate.c 20 additions, 9 deletionsfs/afs/rotate.c
- fs/afs/rxrpc.c 6 additions, 1 deletionfs/afs/rxrpc.c
- fs/afs/security.c 1 addition, 3 deletionsfs/afs/security.c
- fs/afs/server.c 14 additions, 3 deletionsfs/afs/server.c
- fs/afs/super.c 1 addition, 1 deletionfs/afs/super.c
- fs/afs/vl_list.c 9 additions, 11 deletionsfs/afs/vl_list.c
Loading
Please register or sign in to comment