linux/fs/nfs
Peng Tao f30d637d02 nfs41: fix nfs4_proc_layoutget error handling
commit 4bd5a980de upstream.

nfs4_layoutget_release() drops layout hdr refcnt. Grab the refcnt
early so that it is safe to call .release in case nfs4_alloc_pages
fails.

Signed-off-by: Peng Tao <tao.peng@primarydata.com>
Fixes: a47970ff78 ("NFSv4.1: Hold reference to layout hdr in layoutget")
Signed-off-by: Trond Myklebust <trond.myklebust@primarydata.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2015-01-08 09:58:15 -08:00
..
blocklayout nfs: fix do_div() warning by instead using sector_div() 2013-12-20 07:45:11 -08:00
objlayout treewide: Fix typo in printks 2013-04-12 15:21:36 +02:00
cache_lib.c NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
cache_lib.h NFS: simplify and clean cache library 2013-02-15 10:43:36 -05:00
callback_proc.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
callback_xdr.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
callback.c nfs: allow the v4.1 callback thread to freeze 2013-04-05 17:03:52 -04:00
callback.h NFSv4.1: Clean up session draining 2012-12-06 00:30:44 +01:00
client.c NFSv4.1: Set the RPC_CLNT_CREATE_INFINITE_SLOTS flag for NFSv4.1 transports 2013-04-14 12:59:28 -04:00
delegation.c NFSv4: Fix races between nfs_remove_bad_delegation() and delegation return 2014-11-21 09:22:54 -08:00
delegation.h NFSv4: Fix races between nfs_remove_bad_delegation() and delegation return 2014-11-21 09:22:54 -08:00
dir.c NFSv4.1: Enable open-by-filehandle 2013-03-25 12:04:11 -04:00
direct.c nfs: fix pnfs direct write memory leak 2014-11-21 09:22:53 -08:00
dns_resolve.c SUNRPC: remove "cache_request" argument in sunrpc_cache_pipe_upcall() function 2013-02-15 10:43:47 -05:00
dns_resolve.h NFS: DNS resolver cache per network namespace context introduced 2012-01-31 18:20:26 -05:00
file.c NFS: Ensure that NFS file unlock waits for readahead to complete 2013-04-08 22:12:42 -04:00
fscache-index.c NFS: Use the inode->i_version to cache NFSv4 change attribute information 2011-10-18 09:14:34 -07:00
fscache.c NFS4: Open files for fscaching 2012-12-20 22:19:42 +00:00
fscache.h NFS: Provide stub nfs_fscache_wait_on_invalidate() for when CONFIG_NFS_FSCACHE=n 2012-12-21 08:06:48 -08:00
getroot.c nfs: remove kfree() redundant null checks 2013-02-17 15:27:21 -05:00
idmap.c NFSv4: Fix the string length returned by the idmapper 2013-03-20 16:45:16 -04:00
inode.c nfs: Fix use of uninitialized variable in nfs_getattr() 2014-11-21 09:22:54 -08:00
internal.h NFS: Add functionality to allow waiting on all outstanding reads to complete 2013-04-08 22:12:33 -04:00
iostat.h NFS: Squelch compiler warning in nfs_add_server_stats() 2010-05-14 15:09:31 -04:00
Kconfig NFSv4.1: Remove the dependency on CONFIG_EXPERIMENTAL 2012-10-03 10:54:50 -07:00
Makefile NFSv4.1: Cleanup move session slot management to fs/nfs/nfs4session.c 2012-12-06 00:30:45 +01:00
mount_clnt.c NFS: Remove the BUG_ON() in the mount code 2012-11-04 14:43:39 -05:00
namespace.c NFS: Don't silently fail setattr() requests on mountpoints 2013-01-30 17:41:04 -05:00
netns.h nfs: include NFSv4 header in netns.h 2012-10-02 08:17:02 -07:00
nfs.h NFS: Convert v4 into a module 2012-07-30 19:06:52 -04:00
nfs2super.c NFS: Convert v2 into a module 2012-07-30 19:06:41 -04:00
nfs2xdr.c nfs: Convert nfs2xdr to use kuids and kgids 2013-02-13 06:15:30 -08:00
nfs3acl.c NFSv3: Fix another acl regression 2014-09-05 16:28:37 -07:00
nfs3client.c NFS: Only initialize the ACL client in the v3 case 2012-07-30 19:05:54 -04:00
nfs3proc.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nfs3super.c NFS: Convert v3 into a module 2012-07-30 19:06:46 -04:00
nfs3xdr.c nfs: Convert nfs3xdr to use kuids and kgids 2013-02-13 06:15:31 -08:00
nfs4_fs.h NFSv4.1: Ensure that we free the lock stateid on the server 2013-05-06 17:24:27 -04:00
nfs4client.c NFSv4: nfs4_state_manager() vs. nfs_server_remove_lists() 2014-10-05 14:54:10 -07:00
nfs4file.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
nfs4filelayout.c pNFS: Handle allocation errors correctly in filelayout_alloc_layout_hdr() 2014-07-06 18:54:14 -07:00
nfs4filelayout.h NFS4.1 Fix data server connection race 2013-05-08 17:19:32 -04:00
nfs4filelayoutdev.c NFSv4.1: nfs4_fl_prepare_ds - fix bugs when the connect attempt fails 2013-10-13 16:08:33 -07:00
nfs4getroot.c NFSv4: fs/nfs/nfs4getroot.c needs to include "internal.h" 2012-10-16 12:37:59 -04:00
nfs4namespace.c SUNRPC: Introduce rpcauth_get_pseudoflavor() 2013-03-29 15:43:07 -04:00
nfs4proc.c nfs41: fix nfs4_proc_layoutget error handling 2015-01-08 09:58:15 -08:00
nfs4renewd.c NFSv4.1: Fix an NFSv4.1 state renewal regression 2014-10-30 09:35:11 -07:00
nfs4session.c NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
nfs4session.h NFSv4.1 Fix a pNFS session draining deadlock 2013-05-20 14:20:14 -04:00
nfs4state.c NFSv4: fix open/lock state recovery error handling 2014-10-30 09:35:11 -07:00
nfs4super.c NFS: Use server-recommended security flavor by default (NFSv3) 2013-04-04 17:01:01 -04:00
nfs4sysctl.c nfs: include nfs4_fh.h in nfs4sysctl.c 2012-10-02 08:17:03 -07:00
nfs4xdr.c NFSv4: OPEN must handle the NFS4ERR_IO return code correctly 2014-02-13 13:48:01 -08:00
nfsroot.c SUNRPC/NFS: Add Kbuild dependencies for NFS_DEBUG/RPC_DEBUG 2012-03-20 13:08:26 -04:00
pagelist.c NFS: Add functionality to allow waiting on all outstanding reads to complete 2013-04-08 22:12:33 -04:00
pnfs_dev.c hlist: drop the node parameter from iterators 2013-02-27 19:10:24 -08:00
pnfs.c NFSv4: Fail I/O if the state recovery fails irrevocably 2013-03-25 12:04:10 -04:00
pnfs.h NFSv4.1: Add a helper pnfs_commit_and_return_layout 2013-03-21 10:31:21 -04:00
proc.c new helper: file_inode(file) 2013-02-22 23:31:31 -05:00
read.c NFS: Don't accept more reads/writes if the open context recovery failed 2013-03-25 12:04:10 -04:00
super.c NFS: Fix security flavor negotiation with legacy binary mounts 2013-05-30 16:31:34 -04:00
symlink.c include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h 2010-03-30 22:02:32 +09:00
sysctl.c NFS: Initialize v4 sysctls from nfs_init_v4() 2012-07-17 13:33:18 -04:00
unlink.c NFS: Don't allow NFS silly-renamed files to be deleted, no signal 2013-02-22 14:55:34 -05:00
write.c NFS: Don't accept more reads/writes if the open context recovery failed 2013-03-25 12:04:10 -04:00