Linux 5.15將修復(fù)此前的補(bǔ)丁讓軟盤驅(qū)動器設(shè)備出錯的問題
靠近年初的時候,Linux內(nèi)核的軟盤驅(qū)動上進(jìn)行了一些久違的工作,而且半年后人們發(fā)現(xiàn),今年早些時候的工作反倒使Linux內(nèi)核的軟盤處理退步了。現(xiàn)在,Linux 5.15即將推出一個修復(fù)方案。
自從今年早些時候?qū)洷P驅(qū)動程序進(jìn)行修改后,該驅(qū)動程序繼續(xù)發(fā)揮作用,但它無意地改變了一些軟盤處理代碼:之前帶有O_NDELAY標(biāo)志的內(nèi)核將允許打開一個軟盤設(shè)備,即使沒有插入磁盤的情況下。更新后的Linux內(nèi)核如果在沒有插入介質(zhì)/磁盤的情況下打開軟盤設(shè)備,將產(chǎn)生一個錯誤。此外,它還破壞了打開有寫保護(hù)的軟盤的功能。
如果Linux 5.14的發(fā)布順利的話,Linux 5.15的合并窗口很可能在今晚開啟,排隊(duì)的軟盤驅(qū)動的修復(fù),作為一個遲來的添加塊應(yīng)該會被加入。對于這些回歸的修復(fù)沒有什么值得關(guān)注的地方,只是恢復(fù)了軟盤代碼中圍繞O_NDELAY的早期補(bǔ)丁。
今年早些時候的軟盤補(bǔ)丁最初是在Linux 5.12時期合并的,但也被回傳到之前的穩(wěn)定版系列,包括Linux 5.10 LTS,所以5.15的這個新補(bǔ)丁最終也可能被回傳到穩(wěn)定/LTS內(nèi)核中。
Linux 5.15的軟盤修正可以通過這個PR找到:
https://lore.kernel.org/lkml/388418f4-2b9a-6fed-836c-a004369dc7c0@linux.com/
鑒于現(xiàn)在內(nèi)核開發(fā)者中實(shí)際使用軟盤的情況非常少,開發(fā)者Denis Efremov也在努力為軟盤驅(qū)動添加自我測試,以防止這種用戶空間的破壞在未來再次發(fā)生。