JFFS2 list_dirty corruption

Thomas Gleixner gleixner at autronix.de
Wed Feb 20 14:41:48 EST 2002


While hacking on JFFS2 for NAND I found a possibility, where scan_medium 
corrupts list_dirty.

jffs2_scan_medium calls
jffs2_scan_eraseblock calls
jffs2_scan_dirent_node calls	
jffs2_add_fd_to_list
	There is a duplicate entry detected, so it calls
jffs2_mark_node_obsolete
	There is it possible that the jeb is added to list_dirty,
	because it's a duplicate entry
	with list_add_tail
	We come back to
jffs2_scan_eraseblock 
	There is another condition, that marks the block dirty
	We come back to
jffs2_scan_medium
	There we add the block to list_dirty too with add_list
	Then we have a circular list entry.
Result:	chaos	

That's not a problem of the NAND modifications. I verified, that this can 
happen in the actual CVS-version too.
-- 
Thomas
__________________________________________________
Thomas Gleixner, autronix automation GmbH
auf dem berg 3, d-88690 uhldingen-muehlhofen
fon: +49 7556 919891 , fax: +49 7556 919886
mail: gleixner at autronix.de, http://www.autronix.de  




More information about the linux-mtd mailing list