aboutsummaryrefslogtreecommitdiffstats
path: root/fs/hfsplus/dir.c
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@tuxera.com>2010-09-30 23:45:25 -0400
committerChristoph Hellwig <hch@lst.de>2010-09-30 23:45:25 -0400
commit89755dcace09b44b3aa024bf302d9b19b4c24cad (patch)
tree8626891db36b01a3ff3ac80967ce08aef988d1f7 /fs/hfsplus/dir.c
parent84adede31267af37141da2b2b04293c5ea8af7ae (diff)
hfsplus: protect readdir against removals from open_dir_list
We already have i_mutex for readdir and the namespace operations that add entries to open_dir_list, the only thing that was missing was the removal in hfsplus_dir_release. Signed-off-by: Christoph Hellwig <hch@tuxera.com>
Diffstat (limited to 'fs/hfsplus/dir.c')
-rw-r--r--fs/hfsplus/dir.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/fs/hfsplus/dir.c b/fs/hfsplus/dir.c
index 1c81eedcab01..93fa45cc4810 100644
--- a/fs/hfsplus/dir.c
+++ b/fs/hfsplus/dir.c
@@ -231,7 +231,9 @@ static int hfsplus_dir_release(struct inode *inode, struct file *file)
231{ 231{
232 struct hfsplus_readdir_data *rd = file->private_data; 232 struct hfsplus_readdir_data *rd = file->private_data;
233 if (rd) { 233 if (rd) {
234 mutex_lock(&inode->i_mutex);
234 list_del(&rd->list); 235 list_del(&rd->list);
236 mutex_unlock(&inode->i_mutex);
235 kfree(rd); 237 kfree(rd);
236 } 238 }
237 return 0; 239 return 0;