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
..
2005-04-16 15:20:36 -07:00
2005-11-07 07:54:06 -08:00
2005-04-16 15:20:36 -07:00
2005-06-24 00:06:33 -07:00
2005-11-07 07:54:06 -08:00
2005-04-16 15:20:36 -07:00
2005-04-16 15:20:36 -07:00