All of lore.kernel.org
 help / color / mirror / Atom feed
* Report: mtd-utils: "Floating point exception" with ubiformat
@ 2014-10-31 10:36 hujianyang
  2014-11-07  9:43 ` Artem Bityutskiy
  0 siblings, 1 reply; 4+ messages in thread
From: hujianyang @ 2014-10-31 10:36 UTC (permalink / raw)
  To: Artem Bityutskiy, Brian Norris; +Cc: linux-mtd

Hi,

Here is an interesting problem. I used a nand flash driver with
wrong partition table and an error like this occurred:

# insmod nandflash.ko

[454096.098834] mtd: partition "ubi1" is out of reach -- disabled


The display of /proc/mtd shows the size of mtd1 is zero:

# cat /proc/mtd
dev:    size   erasesize  name
mtd0: 20000000 00020000 "ubi0"
mtd1: 00000000 00000000 "ubi1"
mtd2: 20000000 00020000 "rest"


When performing ubiformat with this mtd1, the utility breaks
down with a message:

# ubiformat /dev/mtd1
Floating point exception


I used to think it is because ubiformat can't deal with a zero
size MTD device. So I want to add something like a error branch
for this. But now I find it is because the "erasesize" in
"/sys/class/mtd/mtd1" is zero.

:/sys/class/mtd/mtd1# cat erasesize
0

So function mtd_get_dev_info1() in lib/libmtd.c, line 777

"""
mtd->eb_cnt = mtd->size / mtd->eb_size;
"""

will crash the program because mtd->eb_size is zero.


Do you think it is a valuable problem to deal with? Keep the
existing logic is OK. But can we add something in mtd-utils
to indicate this error than "Floating point exception"?


Thanks~!

Hu

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2014-11-07 10:06 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-10-31 10:36 Report: mtd-utils: "Floating point exception" with ubiformat hujianyang
2014-11-07  9:43 ` Artem Bityutskiy
2014-11-07 10:03   ` hujianyang
2014-11-07 10:06     ` Artem Bityutskiy

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.