[MTD] FTL Fix missing pointer assignment
For the case that mtd partitions are enabled it would cause a 0-pointer dereferencing in mtdpart.c:mtd_erase_callback() Signed-off-by: Herbert Valerio Riedel <hvr@inso.tuwien.ac.at> Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
This commit is contained in:
Родитель
14f8351a31
Коммит
8ea2e06fc8
|
@ -1,5 +1,5 @@
|
||||||
/* This version ported to the Linux-MTD system by dwmw2@infradead.org
|
/* This version ported to the Linux-MTD system by dwmw2@infradead.org
|
||||||
* $Id: ftl.c,v 1.54 2004/11/16 18:33:15 dwmw2 Exp $
|
* $Id: ftl.c,v 1.55 2005/01/17 13:47:21 hvr Exp $
|
||||||
*
|
*
|
||||||
* Fixes: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
* Fixes: Arnaldo Carvalho de Melo <acme@conectiva.com.br>
|
||||||
* - fixes some leaks on failure in build_maps and ftl_notify_add, cleanups
|
* - fixes some leaks on failure in build_maps and ftl_notify_add, cleanups
|
||||||
|
@ -357,6 +357,7 @@ static int erase_xfer(partition_t *part,
|
||||||
if (!erase)
|
if (!erase)
|
||||||
return -ENOMEM;
|
return -ENOMEM;
|
||||||
|
|
||||||
|
erase->mtd = part->mbd.mtd;
|
||||||
erase->callback = ftl_erase_callback;
|
erase->callback = ftl_erase_callback;
|
||||||
erase->addr = xfer->Offset;
|
erase->addr = xfer->Offset;
|
||||||
erase->len = 1 << part->header.EraseUnitSize;
|
erase->len = 1 << part->header.EraseUnitSize;
|
||||||
|
@ -1096,7 +1097,7 @@ struct mtd_blktrans_ops ftl_tr = {
|
||||||
|
|
||||||
int init_ftl(void)
|
int init_ftl(void)
|
||||||
{
|
{
|
||||||
DEBUG(0, "$Id: ftl.c,v 1.54 2004/11/16 18:33:15 dwmw2 Exp $\n");
|
DEBUG(0, "$Id: ftl.c,v 1.55 2005/01/17 13:47:21 hvr Exp $\n");
|
||||||
|
|
||||||
return register_mtd_blktrans(&ftl_tr);
|
return register_mtd_blktrans(&ftl_tr);
|
||||||
}
|
}
|
||||||
|
|
Загрузка…
Ссылка в новой задаче