---- linux.old/drivers/mtd/devices/block2mtd.c 2007-03-02 01:00:13.866987272 +0100
-+++ linux.dev/drivers/mtd/devices/block2mtd.c 2007-03-02 02:03:45.558522080 +0100
+diff -urN linux-2.6.21.1.old/drivers/mtd/devices/block2mtd.c linux-2.6.21.1.dev/drivers/mtd/devices/block2mtd.c
+--- linux-2.6.21.1.old/drivers/mtd/devices/block2mtd.c 2007-04-27 23:49:26.000000000 +0200
++++ linux-2.6.21.1.dev/drivers/mtd/devices/block2mtd.c 2007-05-26 20:06:13.547923960 +0200
@@ -16,6 +16,7 @@
#include <linux/list.h>
#include <linux/init.h>
#include <linux/buffer_head.h>
#include <linux/mutex.h>
#include <linux/mount.h>
-@@ -287,10 +288,11 @@
+@@ -288,10 +289,11 @@
/* FIXME: ensure that mtd->size % erase_size == 0 */
+ if (!mtdname)
+ mtdname = devname;
+
-+ dev->mtd.name = kmalloc(strlen(mtdname), GFP_KERNEL);
++ dev->mtd.name = kmalloc(strlen(mtdname) + 1, GFP_KERNEL);
+
if (!dev->mtd.name)
goto devinit_err;