Greg Kroah-Hartman, kes vastutab Linuxi tuuma stabiilse haru toe eest, toetab uutest tuuma komponentidest Rusti keeles kirjutamist. Meest, kelle kaudu on viimased 15 aastat lĂ€inud lĂ€bi kogu informatsioon tuuma vigade ja haavatavuste kohta, vĂ€idab, et enamiku vigade pĂ”hjuseks on C keele arvestamata jÀÀnud nĂŒansid (corner case), mis on Rusti koodis tĂ€ielikult vĂ€listatud.
Rust'i kasutamine vĂ”imaldab unustada sellised probleemid nagu mĂ€lu kasutamine pĂ€rast selle vabastamist, osaline puhverpiiri ĂŒletamine, vale ressursside vabastamine vigade kĂ€sitlemisel ja unustatud veakoodide kontrollimine, mis vĂ”imaldab hooldajatel keskenduda tĂ”sistele probleemidele, nagu vĂ”idujooksud ja loogika probleemid, mitte hajutada tĂ€helepanu pisiasjadele.
Juba olemasolev vana C keeles kirjutatud kood ei kao kuhugi, kuid Rusti kasutuselevĂ”tt uue koodi ja uute draiverite jaoks vĂ”ib kvaliteeti mĂ€rkimisvÀÀrselt tĂ”sta. Rusti integreerimine vĂ”imaldab ka struktuuri kujundada tuuma sisemisi programmiliideseid nii, et peaaegu viga kasutamisel sisemises API-s on vĂ€listatud â tuumas on akumuleerunud liiga palju keerulisi ja segaseid API-sid, mis teevad hooldajate töö raske, et tagada, et neid API-sid kasutatakse Ă”iget moodi. Rusti raamistiku arenguga tekib hooldajatel vĂ”imalus ĂŒmber mĂ”elda ja korrastada API-d, mis toob kasu kĂ”igile, sealhulgas C keelt kasutavatele arendajatele.
Greg ei nĂ€e Rusti kui "hĂ”bedast kuuli", mis lahendab kĂ”ik tuuma probleemid, kuid see keel kindlasti aitab paljusid olukordi. Rusti toetamist ootavad ka draiveriarendajad, kes loodavad saada tööriista, mis vĂ”imaldab kirjutada koodi oma seadmete jaoks, vĂ€listades paljusid vigade tĂŒĂŒpe. Mis puutub mitme keele segamisse, ei nĂ€e Greg selles suurt probleemi, tema arvates on tuuma arendajad varem keerulisematest ĂŒlesannetest ĂŒle saanud ja see ei ole pĂ”hjus uute heade ideede edendamisest tuumas loobuda, mis aitavad tagada projekti edu jĂ€rgnevate 20+ aasta jooksul.
Arutelu osales ka Kees Cook, endine kernel.org peasĂŒsteemihaldur ja Ubuntu turvameeskonna juht. Kees tĂ€psustas, et jutt ei kĂ€i olemasoleva koodi ĂŒmberkirjutamisest tuumas, vaid Rusti kasutamise vĂ”imaldamisest uute draiverite ja alamsĂŒsteemide loomisel. Rusti rakendamine uue koodi jaoks vĂ”imaldab mitte ainult vĂ€hendada mĂ€lu kasutamisega seotud vigu, vaid ka lĂŒhendada arendusaega. Arenduse kiirus suureneb tĂ€nu vĂ€henenud kulule tĂ”rkeotsingule ja keeles olevatele rangetele garantiidele, mis vĂ”imaldavad vigu varakult koodi kirjutamise faasis tuvastada, juba enne toote testimise algust.
Rust'i kasutamise taktika efektiivsus uut koodi kvaliteedi tÔstmiseks on juba tÔestatud Google'i Android platvormil. On nÀidatud, et peamine probleemide allikas on uus kood, ning sellele tuleks keskenduda kvaliteedi parandamisel. Vanal koodil on turvalisuse ja aja vahel eksponentsiaalne seos (nÀiteks 5-aastane kood sisaldab keskmiselt 3.4 korda vÀhem haavatavuste tihedust kui uus kood).
Allikas: opennet.ru
