2002-04-22 07:04:02

by Hirokazu Takahashi

[permalink] [raw]
Subject: [PATCH][BUG] nfsd may deadlock (linux-2.5.8)

Hi,

I fixed a nfsd bug.
KNFSDs will deadlock in nfsd_symlink() as they try to grab i_sem doubly,
though the i_sem is already grabbed by fh_lock().


Thank you,
Hirokazu Takahashi.

--- linux/fs/nfsd/vfs.c.ORG Sat Apr 20 09:09:30 2002
+++ linux/fs/nfsd/vfs.c Mon Apr 22 06:08:51 2002
@@ -1127,9 +1135,7 @@
iap->ia_valid |= ATTR_CTIME;
iap->ia_mode = (iap->ia_mode&S_IALLUGO)
| S_IFLNK;
- down(&dentry->d_inode->i_sem);
err = notify_change(dnew, iap);
- up(&dentry->d_inode->i_sem);
if (!err && EX_ISSYNC(fhp->fh_export))
write_inode_now(dentry->d_inode, 1);
}

_______________________________________________
NFS maillist - [email protected]
https://lists.sourceforge.net/lists/listinfo/nfs