近日,Linux內(nèi)核社區(qū)經(jīng)歷了一場風(fēng)波,原本平靜的6.13版本發(fā)布前夕,卻因微軟提交的代碼引發(fā)了不小的震動(dòng)。據(jù)悉,這段代碼與ARCH_HAS_EXECMEM_ROX內(nèi)核配置緊密相關(guān),旨在優(yōu)化64位AMD和英特爾CPU的性能。
然而,問題出在這段代碼未經(jīng)x86內(nèi)核維護(hù)者的正式確認(rèn)就被合并進(jìn)了Linux 6.13版本中。這一舉動(dòng)直接破壞了CPU上的控制流完整性(CFI),一個(gè)對于系統(tǒng)安全至關(guān)重要的功能。CFI通過引入影子堆棧和間接分支目標(biāo)(IBT),有效抵御了多種高級攻擊手段,確保了程序執(zhí)行過程中的安全性。
具體來說,微軟的這段代碼在Linux內(nèi)核的alternative.c文件中造成了混亂,甚至在某些情況下導(dǎo)致了系統(tǒng)崩潰。這一發(fā)現(xiàn)引起了x86內(nèi)核維護(hù)者的廣泛關(guān)注,其中英特爾的Peter Zijlstra迅速行動(dòng),提交了緊急修復(fù)方案,試圖恢復(fù)與EXECMEM_ROX支持相關(guān)的更改。然而,他指出,即便進(jìn)行了修復(fù),微軟的代碼仍然存在錯(cuò)誤,需要進(jìn)一步的審查和完善。
AMD的Borislav Petkov也對這一事件表達(dá)了強(qiáng)烈的不滿。他批評道,如此重要的代碼更改,竟然沒有經(jīng)過任何x86維護(hù)者的確認(rèn)就被合并,這不僅是對Linux內(nèi)核開發(fā)流程的不尊重,更是對系統(tǒng)安全性的極大威脅。他的言論在Linux社區(qū)內(nèi)引起了廣泛的共鳴,進(jìn)一步加劇了這場風(fēng)波的緊張氛圍。
在這場風(fēng)波中,英特爾和AMD的及時(shí)介入成為了挽救局面的關(guān)鍵。兩家公司的技術(shù)專家迅速行動(dòng)起來,與Linux內(nèi)核社區(qū)的成員們緊密合作,共同尋找解決方案。經(jīng)過一系列的努力,他們終于成功修復(fù)了微軟代碼引發(fā)的問題,確保了Linux 6.13版本的順利發(fā)布。
盡管這次事件給Linux內(nèi)核社區(qū)帶來了一定的困擾,但也暴露出了當(dāng)前開發(fā)流程中存在的一些問題。未來,Linux社區(qū)需要進(jìn)一步加強(qiáng)代碼審查機(jī)制,確保所有提交的代碼都經(jīng)過嚴(yán)格的測試和確認(rèn),以避免類似事件的再次發(fā)生。同時(shí),這次事件也再次提醒了人們,系統(tǒng)安全性是任何時(shí)候都不能忽視的重要問題。