Linux内核小bug
刺猬@http://blog.youkuaiyun.com/littlehedgehog
今天读着读着代码,竟然无意中发现Linux 0.11内核有个小bug,呵呵,人非圣贤孰能无过。


































其中 if (!(block = bmap(*dir,i/DIR_ENTRIES_PER_BLOCK)) || !(bh = bread((*dir)->i_dev,block))) 如果bh读取失败,将跳出本次循环,然而在下次循环时又会引用bh这个结构指针,因为上次调用是失败的,所以可能出现内存无效引用,导致出现错误。不过听赵博说这个错误其实 "很少发生或者几乎不会发生",所以一直到Linux 1.00版这个bug才修正!