[PATCH] memory leak in ext3+htree

Alex Tomas (bzzz@tmi.comex.ru)
24 Feb 2003 18:05:38 +0300


Hello!

here is very simple fix against memory leak in ext3's readdir().

diff -uNr linux/fs/ext3/dir.c edited/fs/ext3/dir.c
--- linux/fs/ext3/dir.c Mon Nov 11 06:28:16 2002
+++ edited/fs/ext3/dir.c Mon Feb 24 17:39:59 2003
@@ -33,12 +33,17 @@
static int ext3_readdir(struct file *, void *, filldir_t);
static int ext3_dx_readdir(struct file * filp,
void * dirent, filldir_t filldir);
+static int ext3_release_dir (struct inode * inode,
+ struct file * filp);

struct file_operations ext3_dir_operations = {
.read = generic_read_dir,
.readdir = ext3_readdir, /* we take BKL. needed?*/
.ioctl = ext3_ioctl, /* BKL held */
.fsync = ext3_sync_file, /* BKL held */
+#ifdef CONFIG_EXT3_INDEX
+ .release = ext3_release_dir,
+#endif
};


@@ -481,4 +491,13 @@
UPDATE_ATIME(inode);
return 0;
}
+
+static int ext3_release_dir (struct inode * inode, struct file * filp)
+{
+ if (is_dx(inode) && filp->private_data)
+ ext3_htree_free_dir_info(filp->private_data);
+
+ return 0;
+}
+
#endif

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/