VisionFive2 Linux kernel

StarFive Tech Linux Kernel for VisionFive (JH7110) boards (mirror)

More than 9999 Commits   32 Branches   54 Tags
author: Al Viro <viro@zeniv.linux.org.uk> 2013-05-05 20:20:25 -0400 committer: Al Viro <viro@zeniv.linux.org.uk> 2013-05-05 20:20:25 -0400 commit: 1950267e6e9dc2531f2790bf217aa7aadc9aa324 parent: f8ce1faf55955de62e0a12e330c6d9a526071f65
Commit Summary:
hfs: SMP race on directory close()
Diffstat:
1 file changed, 2 insertions, 0 deletions
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
index 17c22a8fd40a..e0101b6fb0d7 100644
--- a/fs/hfs/dir.c
+++ b/fs/hfs/dir.c
@@ -176,7 +176,9 @@ static int hfs_dir_release(struct inode *inode, struct file *file)
 {
 	struct hfs_readdir_data *rd = file->private_data;
 	if (rd) {
+		mutex_lock(&inode->i_mutex);
 		list_del(&rd->list);
+		mutex_unlock(&inode->i_mutex);
 		kfree(rd);
 	}
 	return 0;