]> 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)
commitcc71ab8c8fb2ec4467fb2c506127b4a1268e9561
treee8b8f8238118d2d3c16f3f83625223377b9719ee
parent9597208c830b0b074de91ebf35d44d4a6cec6c8b
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