dynamic mtd_blktrans_dev not fully init'd under UBI?

catboat at texas.net catboat at texas.net
Fri Nov 30 15:58:14 EST 2007



Hi all,

I have a UBI system, and I notice this causes a kernel panic.
Make a volume that does not previously exist, eg 50:

     ubimkvol -d0 -n50 -N vol50 -s 640000 
     cat /dev/mtdblock/vol50  >/dev/null 

I get a panic in mtdblockd as it handles the block
requests generated by cat. 

In older versions, the struct semaphore of mtd_blktrans_dev
is not initialized, so the kernel panics in __down. 

In the newest git, I see a mutex named "lock" instead, but 
I don't think it's initialized either. See the function 
mtdblock_add_mtd() in drivers/mtd/mtdblock.c. The struct
mtd_blktrans_dev is just kzalloc'd leaving the mutex lock
all zeroes. 

Can anybody recreate this? 

Monte Copeland
IBM Austin










More information about the linux-mtd mailing list