linux/fs/nfs
Andy Adamson 8dc7c3115b locks,lockd: fix race in nlmsvc_testlock
posix_test_lock() returns a pointer to a struct file_lock which is unprotected
and can be removed while in use by the caller.  Move the conflicting lock from
the return to a parameter, and copy the conflicting lock.

In most cases the caller ends up putting the copy of the conflicting lock on
the stack.  On i386, sizeof(struct file_lock) appears to be about 100 bytes.
We're assuming that's reasonable.

Signed-off-by: Andy Adamson <andros@citi.umich.edu>
Signed-off-by: J. Bruce Fields <bfields@citi.umich.edu>
Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2006-03-20 13:44:26 -05:00
..
callback_proc.c NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec 2006-01-06 14:58:51 -05:00
callback_xdr.c NFSv4: Kill braindead gcc warnings 2006-03-20 13:44:10 -05:00
callback.c NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
callback.h NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
delegation.c NFSv4: Fix an Oops in nfs_do_expire_all_delegations 2006-01-06 14:58:58 -05:00
delegation.h NFSv4: Ensure change attribute returned by GETATTR callback conforms to spec 2006-01-06 14:58:51 -05:00
dir.c NFS: directory trace messages 2006-03-20 13:44:24 -05:00
direct.c NFS: add I/O performance counters 2006-03-20 13:44:14 -05:00
file.c locks,lockd: fix race in nlmsvc_testlock 2006-03-20 13:44:26 -05:00
idmap.c NFS: sem2mutex idmap.c 2006-03-20 13:44:11 -05:00
inode.c NFS: add RPC I/O statistics to /proc/self/mountstats 2006-03-20 13:44:22 -05:00
iostat.h NFS: add hooks to account for NFSERR_JUKEBOX errors 2006-03-20 13:44:14 -05:00
Makefile NFSv4: Allow user to set the port used by the NFSv4 callback channel 2006-01-06 14:58:52 -05:00
mount_clnt.c SUNRPC: eliminate rpc_call() 2006-03-20 13:44:23 -05:00
nfs2xdr.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
nfs3acl.c SUNRPC: eliminate rpc_call() 2006-03-20 13:44:23 -05:00
nfs3proc.c SUNRPC: eliminate rpc_call() 2006-03-20 13:44:23 -05:00
nfs3xdr.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
nfs4_fs.h NFSv4: Remove requirement for machine creds for the "setclientid" operation 2006-01-06 14:58:47 -05:00
nfs4proc.c NFS: add hooks to account for NFSERR_JUKEBOX errors 2006-03-20 13:44:14 -05:00
nfs4renewd.c NFSv4: Remove requirement for machine creds for the "renew" operation 2006-01-06 14:58:47 -05:00
nfs4state.c NFSv4: Remove requirement for machine creds for the "setclientid" operation 2006-01-06 14:58:47 -05:00
nfs4xdr.c SUNRPC: display human-readable procedure name in rpc_iostats output 2006-03-20 13:44:22 -05:00
nfsroot.c [PATCH] nfsroot port= parameter fix [backport of 2.4 fix] 2006-02-07 21:00:42 -05:00
pagelist.c NFS: Avoid races between writebacks and truncation 2006-03-20 13:44:04 -05:00
proc.c SUNRPC: eliminate rpc_call() 2006-03-20 13:44:23 -05:00
read.c NFS: add I/O performance counters 2006-03-20 13:44:14 -05:00
symlink.c Fix nasty ncpfs symlink handling bug. 2005-08-19 18:02:56 -07:00
sysctl.c NFSv4: Allow entries in the idmap cache to expire 2006-01-06 14:58:58 -05:00
unlink.c NFS: kzalloc conversion in fs/nfs 2006-03-20 13:44:10 -05:00
write.c NFS: add I/O performance counters 2006-03-20 13:44:14 -05:00