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