Greg Kroah-Hartman, kes vastutab Linuxi tuuma stabiilse haru toe eest, on vÀljendanud toetust uute tuuma komponentide arendamisele Rusti keeles. Inimese, kelle kaudu on viimased 15 aastat lÀbinud kogu teave Linuxi tuuma vigadest ja haavatavustest, vÀidab ta, et enamik tuuma vigu tuleneb C keele arvestamata jÀÀvatest eranditest, mis on Rusti koodis tÀielikult vÀlistatud.
Rust'i kasutamine vĂ”imaldab unustada sellised probleemid nagu mĂ€lu kasutamine pĂ€rast vabastamist, osaline puhverpiiride ĂŒletamine, ressursside vale vabastamine vigade töötlemisel ning unustatud veakoodide kontroll, mis vĂ”imaldab hooldajatel keskenduda tĂ”elistele vigadele, nagu vĂ”istlusolekud ja loogikaprobleemid, mitte hajutada tĂ€helepanu pisiasjade ĂŒlevaatamise ajal.
Juba olemasolev vana C kood ei kao kuhugi, kuid uue koodi ja uute draiverite jaoks vĂ”imaldab Rusti rakendamine oluliselt tĂ”sta kvaliteeti. Rusti rakendamine annab samuti vĂ”imaluse struktureerida sĂŒsteemi sisemisi programmilisi liideseid selliselt, et praktiliselt vĂ€heneb sisemiste API-de vale kasutamise risk â sĂŒsteemis on kogunenud liiga palju keerulisi ja segaseid API-sid, mis koormavad oluliselt hooldajaid nende töös, et kontrollida, kas neid API-e kasutatakse Ă”igesti. Rusti liideste arendamise protsessis tekib hooldajatel vĂ”imalus ĂŒmber mĂ”elda ja korda teha API-d, mis toob kasu kĂ”igile, sealhulgas C keelt kasutavatele.
Greg ei pea Rusti "hĂ”bepadruniks", mis lahendab kĂ”ik tuumaprobleemid, kuid see keel aitab kindlasti paljude olukordade puhul. Rusti toetus rahuldab ka juhtimisseente arendajate vajadust, kes loodavad saada tööriista, mis vĂ”imaldab kirjutada koodi oma seadmete jaoks, vĂ€listades paljusid tĂŒĂŒpe vigu. Mis puudutab mitme keele kombineerimist, siis Greg ei nĂ€e selles suurt probleemi; tema arvates on tuuma arendajad minevikus toime tulnud palju tĂ”sisemate vĂ€ljakutsetega ning uutest headest ideedest loobumiseks pole pĂ”hjust, mis aitaks tagada projekti edu jĂ€rgmise 20+ aasta jooksul.
Arutelusse liitus ka Kees Cook, endine kernel.orgi peamine sĂŒsteemiadministraator ja Ubuntu turvameeskonna juht. Kees selgitas, et teema ei ole olemasoleva koodi ĂŒmberkirjutamine sĂŒdamikus, vaid Rusti kasutamise vĂ”imaluse pakkumine uute draiverite ja alam-sĂŒsteemide loomisel. Rusti rakendamine uue koodi jaoks mitte ainult ei vĂ€henda mĂ€luhalduse vigu, vaid ka lĂŒhendab arendusaega. Arenduse kiirus suureneb tĂ€nu vĂ€hendatud virheotsimise töömahule ja keele rangetele garantiidele, mis vĂ”imaldavad vigu tuvastada varajases koodikirjutamise etapis, veel enne toote testimist.
Rust'i kasutamise taktika tÔhusust uue koodi kvaliteedi tÔstmiseks on juba demonstreerinud Google Androidi platvormil. On nÀidatud, et peamine turvaprobleemide allikas on uus kood, ja selle kvaliteedi tÔstmisele tuleks pöörata peamist tÀhelepanu. Vanal koodil on turvalisuse ja aja vahel eksponentsiaalne seos (nÀiteks 5-aastane kood sisaldab keskmiselt 3,4 korda vÀhem haavatavusi kui uus kood).
Allikas: opennet.ru
