linux/fs/nfsd
J. Bruce Fields 604696d8b5 nfsd: return correct lockowner when there is a race on hash insert
[ Upstream commit 340f0ba1c6 ]

alloc_init_lock_stateowner can return an already freed entry if there is
a race to put openowners in the hashtable.

Noticed by inspection after Jeff Layton fixed the same bug for open
owners.  Depending on client behavior, this one may be trickier to
trigger in practice.

Fixes: c58c6610ec "nfsd: Protect adding/removing lock owners using client_lock"
Cc: <stable@vger.kernel.org>
Cc: Trond Myklebust <trond.myklebust@primarydata.com>
Acked-by: Jeff Layton <jeff.layton@primarydata.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
History 2015-04-23 14:58:27 -04:00
..
acl.h nfsd4: remove nfs4_acl_new 2014-07-08 17:14:27 -04:00
auth.c nfsd: silence sparse warning about accessing credentials 2014-07-17 16:15:35 -04:00
auth.h nfsd: Remove nfsd_luid, nfsd_lgid, nfsd_ruid and nfsd_rgid 2013-02-13 06:15:51 -08:00
cache.h nfsd: Remove the cache_hash list 2014-08-17 12:00:12 -04:00
current_stateid.h nfsd41: use current stateid by value 2012-02-15 11:20:45 -05:00
export.c nfsd: allow turning off nfsv3 readdir_plus 2014-08-18 15:12:14 -04:00
export.h NFSD: Using exp_get for export getting 2014-06-23 11:31:36 -04:00
fault_inject.c nfsd: remove old fault injection infrastructure 2014-08-05 10:55:10 -04:00
idmap.h nfsd4: use xdr_reserve_space in attribute encoding 2014-05-28 14:52:34 -04:00
Kconfig lockd: move lockd's grace period handling into its own module 2014-09-17 16:33:11 -04:00
lockd.c nfsd: Remove deprecated nfsctl system call and related code. 2011-07-15 18:58:42 -04:00
Makefile NFSD: Added fault injection 2011-11-07 21:10:47 -05:00
netns.h nfsd: add some comments to the nfsd4 object definitions 2014-08-05 16:09:20 -04:00
nfs2acl.c NFSD: Check acl returned from get_acl/posix_acl_from_mode 2014-07-11 15:03:53 -04:00
nfs3acl.c NFSD: Check acl returned from get_acl/posix_acl_from_mode 2014-07-11 15:03:53 -04:00
nfs3proc.c nfsd: allow turning off nfsv3 readdir_plus 2014-08-18 15:12:14 -04:00
nfs3xdr.c NFSD: Using min/max/min_t/max_t for calculate 2014-06-23 11:31:36 -04:00
nfs4acl.c NFSD: Check acl returned from get_acl/posix_acl_from_mode 2014-07-11 15:03:53 -04:00
nfs4callback.c nfsd: Fix slot wake up race in the nfsv4.1 callback code 2014-11-19 15:45:44 -05:00
nfs4idmap.c NFSD: Full checking of authentication name 2014-09-03 17:43:03 -04:00
nfs4proc.c nfsd4: fix crash on unknown operation number 2014-10-23 13:39:51 -04:00
nfs4recover.c Merge branch 'sched-core-for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/tip/tip 2014-10-13 16:23:15 +02:00
nfs4state.c nfsd: return correct lockowner when there is a race on hash insert 2015-04-23 14:58:27 -04:00
nfs4xdr.c nfsd4: fix xdr4 count of server in fs_location4 2015-01-16 06:59:53 -08:00
nfscache.c nfsd: Reorder nfsd_cache_match to check more powerful discriminators first 2014-08-17 12:00:13 -04:00
nfsctl.c nfsd: add a v4_end_grace file to /proc/fs/nfsd 2014-09-17 16:33:14 -04:00
nfsd.h nfsd: correctly define v4.2 support attributes 2014-11-19 12:03:19 -05:00
nfsfh.c NFSD: Put export if prepare_creds() fail 2014-09-03 17:43:04 -04:00
nfsfh.h nfsd: add appropriate __force directives to filehandle generation code 2014-06-23 11:31:37 -04:00
nfsproc.c nfsd: print status when nfsd4_open fails to open file it just created 2014-07-29 23:08:38 -04:00
nfssvc.c NFSD: Decrease nfsd_users in nfsd_startup_generic fail 2014-08-01 16:26:09 -04:00
nfsxdr.c NFSD: Using min/max/min_t/max_t for calculate 2014-06-23 11:31:36 -04:00
state.h File locking related changes for v3.18 (pile #1) 2014-10-11 13:21:34 -04:00
stats.c nfsd: move <linux/nfsd/stats.h> to fs/nfsd 2014-05-06 17:54:55 -04:00
stats.h nfsd: move <linux/nfsd/stats.h> to fs/nfsd 2014-05-06 17:54:55 -04:00
vfs.c Merge branch 'next' of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/linux-security 2014-10-12 10:13:55 -04:00
vfs.h NFSD: Remove iattr parameter from nfsd_symlink() 2014-07-08 17:14:31 -04:00
xdr.h nfsd: handle vfs_getattr errors in acl protocol 2013-02-26 02:46:09 -05:00
xdr3.h nfsd: fix encode_entryplus_baggage stack usage 2014-01-23 13:50:27 -05:00
xdr4.h NFSD: Implement SEEK 2014-09-29 14:35:20 -04:00
xdr4cb.h nfsd4: check backchannel attributes on create_session 2013-04-09 16:53:56 -04:00