Uhlelo lwesine lwamapheshi we-Linux kernel ngokusekelwa kolimi lwe-Rust

U-Miguel Ojeda, umbhali wephrojekthi ye-Rust-for-Linux, uhlongoze inguqulo yesine yezingxenye zokuthuthukisa izishayeli zedivayisi ngolimi lwe-Rust ukuze zicatshangelwe abathuthukisi be-Linux kernel. Ukusekelwa kokugqwala kubhekwa njengokuhlola, kodwa sekuvunyelwene ngakho kakade ukuze kufakwe egatsheni le-linux-elilandelayo futhi selivuthwe ngokwanele ukuba liqale umsebenzi wokwenza izendlalelo zokukhipha phezu kwamasistimu angaphansi kwe-kernel, kanye nokubhala abashayeli namamojula. Ukuthuthukiswa kuxhaswe i-Google kanye ne-ISRG (Internet Security Research Group), engumsunguli wephrojekthi ethi Masibethele futhi ethuthukisa i-HTTPS nokuthuthukiswa kobuchwepheshe ukuze kuthuthukiswe ukuphepha kwe-inthanethi.

Khumbula ukuthi izinguquko ezihlongozwayo zenza kube nokwenzeka ukusebenzisa i-Rust njengolimi lwesibili ekuthuthukiseni abashayeli namamojula we-kernel. Ukusekelwa kokugqwala kwethulwa njengenketho engenziwanga amandla ngokuzenzakalela futhi akubangeli ukuthi i-Rust ifakwe njengokuncika okudingekile ekwakheni kwe-kernel. Ukusebenzisa i-Rust ekuthuthukiseni abashayeli kuzokuvumela ukuthi udale abashayeli abaphephile nabangcono ngomzamo omncane, ongenazo izinkinga ezifana nokufinyelela inkumbulo ngemva kokukhulula, izinkomba ezingenalutho, kanye nokweqa kwe-buffer.

Ukuphepha kwenkumbulo kunikezwa ku-Rust ngesikhathi sokuhlanganiswa ngokuhlolwa kwereferensi, ukulandelela ubunikazi bento kanye nesikhathi sokuphila kwento (ububanzi), kanye nokuhlola ukulunga kokufinyelela inkumbulo ngesikhathi sokukhishwa kwekhodi. I-Rust iphinde inikeze ukuvikeleka ekuchichimeni okuphelele, idinga ukuqaliswa okuyisibopho kwamanani ahlukile ngaphambi kokusetshenziswa, iphatha amaphutha kangcono kulabhulali evamile, isebenzisa umqondo wezithenjwa ezingaguquleki nokuguquguqukayo ngokuzenzakalelayo, inikeza ukuthayipha okuqinile okuqinile ukuze kuncishiswe amaphutha anengqondo.

Inguqulo entsha yama-patches iyaqhubeka nokuqeda ukuphawula okwenziwe phakathi nengxoxo yohlelo lokuqala, lwesibili nolwesithathu lwama-patches. Enguqulweni entsha:

  • Inguquko ekusebenziseni ukukhishwa okuzinzile kwe-Rust 1.58.0 njengomhlanganisi wereferensi yenziwe. Phakathi kwezinguquko ezidingekayo zephrojekthi, ezingakafakwa ku-toolkit enkulu ye-Rust, ifulege elithi “-Zsymbol-mangling-version=v0” (elilindelwe ku-Rust 1.59.0) kanye nemodi ethi “mhlawumbe_uninit_extra” (elindelwe ku-Rust 1.60.0 .XNUMX) ziyaphawulwa. .
  • Kwengezwe ukuhlola okuzenzakalelayo kokutholakala kwamathuluzi e-Rust afanelekile futhi kwanwetshwa amandla okuhlola ukwesekwa kwe-Rust kusistimu.
  • Kuphakanyiswe izifinyezo ezintsha zokufinyelela amathebula okokuhlonza idivayisi (“IdArray” kanye “ne-IdTable”) kusuka kukhodi yokuRust.
  • Izendlalelo ezingeziwe zokufinyelela imisebenzi ehlobene nesikhathi (uhlaka lwewashi).
  • Abashayeli benkundla manje sebechazwa ngokusetshenziswa kwesici.
  • I-macro entsha yengezwe ukwenza lula ukubhaliswa kwabashayeli bepulatifomu, futhi isifanekiso esisha somshayeli esijwayelekile siphakanyiswe.
  • Kungezwe amamakhro ezakhiwo ze-"dev_*".
  • Kwengezwe izindlela "{read,write}*_relaxed" zohlobo lwe-IoMem .
  • Kukhishwe impahla ye-FileOpener ukuze kube lula ukusebenza kwefayela.
  • Ipharamitha ethi “ThisModule” yengezwe ezimpikiswano eziphasiswe lapho kubhaliswa umshayeli.
  • Isifanekiso esijwayelekile sokudala amamojula e-kernel ngolimi lwe-Rust siyaphakanyiswa.

Source: opennet.ru

Engeza amazwana