NFS: Fix a race in nfs_call_unlink()
We should check that the filehandles match before transferring the sillyrename data to the newly looked-up dentry in case the name was reused on the server. Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
This commit is contained in:
Родитель
35e3b6ae84
Коммит
5776a9cd2a
|
@ -139,6 +139,7 @@ static int nfs_call_unlink(struct dentry *dentry, struct inode *inode, struct nf
|
|||
*/
|
||||
spin_lock(&alias->d_lock);
|
||||
if (d_really_is_positive(alias) &&
|
||||
!nfs_compare_fh(NFS_FH(inode), NFS_FH(d_inode(alias))) &&
|
||||
!(alias->d_flags & DCACHE_NFSFS_RENAMED)) {
|
||||
devname_garbage = alias->d_fsdata;
|
||||
alias->d_fsdata = data;
|
||||
|
|
Загрузка…
Ссылка в новой задаче