hfs: SMP race on directory close()

->open_dir_list needs protection...

Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
diff --git a/fs/hfs/dir.c b/fs/hfs/dir.c
index 17c22a8..e0101b6 100644
--- a/fs/hfs/dir.c
+++ b/fs/hfs/dir.c
@@ -176,7 +176,9 @@
 {
 	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;