]> git.baikalelectronics.ru Git - kernel.git/commit
nfs4: have do_vfs_lock take an inode pointer
authorJeff Layton <jeff.layton@primarydata.com>
Sat, 11 Jul 2015 10:43:03 +0000 (06:43 -0400)
committerJeff Layton <jeff.layton@primarydata.com>
Mon, 13 Jul 2015 10:29:11 +0000 (06:29 -0400)
commit44d37ae77933e94b9b395d748efb22db61c5576b
treee8b8f8238118d2d3c16f3f83625223377b9719ee
parent2c7851102727ea46d1ec66dd66056c069b451897
nfs4: have do_vfs_lock take an inode pointer

Now that we have file locking helpers that can deal with an inode
instead of a filp, we can change the NFSv4 locking code to use that
instead.

This should fix the case where we have a filp that is closed while flock
or OFD locks are set on it, and the task is signaled so that it doesn't
wait for the LOCKU reply to come in before the filp is freed. At that
point we can end up with a use-after-free with the current code, which
relies on dereferencing the fl_file in the lock request.

Signed-off-by: Jeff Layton <jeff.layton@primarydata.com>
Reviewed-by: "J. Bruce Fields" <bfields@fieldses.org>
Tested-by: "J. Bruce Fields" <bfields@fieldses.org>
fs/nfs/nfs4proc.c