JFFS2: add missing verify buffer allocation/deallocation
Linux-MTD Mailing List
linux-mtd at lists.infradead.org
Thu Sep 3 11:59:02 EDT 2009
Gitweb: http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51
Commit: bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51
Parent: 16f05c2b68520f94e365f9d347a7076f4ff00ad5
Author: Massimo Cirillo <maxcir at gmail.com>
AuthorDate: Thu Aug 27 10:44:09 2009 +0200
Committer: David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Thu Sep 3 15:01:34 2009 +0100
JFFS2: add missing verify buffer allocation/deallocation
The function jffs2_nor_wbuf_flash_setup() doesn't allocate the verify buffer
if CONFIG_JFFS2_FS_WBUF_VERIFY is defined, so causing a kernel panic when
that macro is enabled and the verify function is called. Similarly the
jffs2_nor_wbuf_flash_cleanup() must free the buffer if
CONFIG_JFFS2_FS_WBUF_VERIFY is enabled.
The following patch fixes the problem.
The following patch applies to 2.6.30 kernel.
Signed-off-by: Massimo Cirillo <maxcir at gmail.com>
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
Cc: stable at kernel.org
---
fs/jffs2/wbuf.c | 10 ++++++++++
1 files changed, 10 insertions(+), 0 deletions(-)
diff --git a/fs/jffs2/wbuf.c b/fs/jffs2/wbuf.c
index d9a721e..5ef7bac 100644
--- a/fs/jffs2/wbuf.c
+++ b/fs/jffs2/wbuf.c
@@ -1268,10 +1268,20 @@ int jffs2_nor_wbuf_flash_setup(struct jffs2_sb_info *c) {
if (!c->wbuf)
return -ENOMEM;
+#ifdef CONFIG_JFFS2_FS_WBUF_VERIFY
+ c->wbuf_verify = kmalloc(c->wbuf_pagesize, GFP_KERNEL);
+ if (!c->wbuf_verify) {
+ kfree(c->wbuf);
+ return -ENOMEM;
+ }
+#endif
return 0;
}
void jffs2_nor_wbuf_flash_cleanup(struct jffs2_sb_info *c) {
+#ifdef CONFIG_JFFS2_FS_WBUF_VERIFY
+ kfree(c->wbuf_verify);
+#endif
kfree(c->wbuf);
}
More information about the linux-mtd-cvs
mailing list