Linux 5.13 還原及修復明尼蘇達大學的問題補丁
此前,因研究人員故意試圖向 Linux 內核引入帶有漏洞的補丁,明尼蘇達整所大學(UMN)被禁止繼續參與 Linux 內核開發。近期,phoronix 消息稱,Linux 內核開發者則終于完成了對所有來自該大學的補丁的審查,以解決合并到內核中的問題,同時也清理/修復了他們有問題的補丁。
Greg Kroah-Hartman 于周四提交了 5.13-rc3 的 char/misc 修復方案。雖然在內核周期的中期階段,char/misc 的修復一般并不是很令人矚目,但這個 pull request 卻有著解決了明尼蘇達大學研究人員的補丁的變化。Greg 在拉動請求說明中指出,其大多數是 umn.edu 對所有先前提交的文件進行重新審查的結果。“我想感謝超過 80 個不同的開發者,他們幫助審查和修復了這個混亂的局面。”
根據 umn.edu 的 Git 活動,這個拉動請求恢復了 37 個內核補丁。恢復的范圍涵蓋了 ALSA 到媒體子系統、網絡和其他領域。
以下是對其補丁的一些問題的技術解釋:
這個修改的原始提交信息是不正確的,因為代碼路徑永遠不可能導致 NULL 的解除引用,暗指無論用什么工具來"find this"都是錯誤的。這只是一個可選的資源保留,所以刪除這個檢查就可以了。
- 雖然最初的提交確實阻止了"NULL解除引用"的發生,但它并沒有將錯誤正確地傳播給調用者,而且由于某種原因,它沒有修復drivers/net/ethernet/cavium/liquidio/lio_vf_main.c 中的這個相同的問題。
- 這個 commit 是不正確的,它不應該使用 unlikely(),也沒有將錯誤正確地傳播給調用函數,所以在這個時間點應該被撤銷。另外,如果檢查失敗,工作隊列仍然被認為是被分配的,所以進一步的訪問會繼續失敗,這意味著這個補丁對解決根本問題毫無幫助。
- 經過審查,發現這個 commit 根本不需要,因為這個改動毫無用處,這個函數只有在 of_match_device 匹配到某個東西時才能被調用。所以它應該被撤銷。
此外,在其余的一些補丁中,有一部分是因為沒有實質性的價值被撤銷;還有一些最壞的情況則是因為不正確/不完整的代碼而被撤銷。
本文轉自OSCHINA
本文標題:Linux 5.13 還原及修復明尼蘇達大學的問題補丁
本文地址:https://www.oschina.net/news/142772/linux-5-13-umn-fixes