Inguqulo entsha yama-patches we-Linux kernel esekelwa ulimi lwe-Rust

U-Miguel Ojeda, umbhali wephrojekthi ye-Rust-for-Linux, uhlongoze ukukhululwa kwezingxenye ze-v5 zokuthuthukisa abashayeli bedivayisi ngolimi lwe-Rust ukuze kucatshangelwe abathuthukisi be-Linux kernel. Lolu wuhlelo lwesithupha lwamapheshana, kucatshangelwa inguqulo yokuqala, eshicilelwe ngaphandle kwenombolo yenguqulo. Ukwesekwa kokugqwala kuthathwa njengokuhlola, kodwa sekuvele kufakiwe egatsheni elilandelayo le-linux futhi kuthuthukiswe ngokwanele ukuze kuqalwe umsebenzi wokwenza izendlalelo zokukhipha phezu kwe-kernel subsystems, 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 ngesikhathi sokuxoxisana kwezinguqulo zokuqala, zesibili, zesithathu, zesine nesesihlanu. Enguqulweni entsha:

  • Ikhithi yamathuluzi ibuyekeziwe ukuze ikhulule i-Rust 1.59.0. Okuhlukile komtapo wezincwadi we-alloc kuphinde kwavunyelaniswa nenguqulo entsha ye-Rust, esusa ukwenzeka kwesimo "sokwethuka" lapho kwenzeka amaphutha, njengokuphuma kwenkumbulo. Ikhono lokusebenzisa okokufaka okuhlanganisiwe (β€œfeature(global_asm)”) lizinzile.
  • Usekelo olungeziwe lokudala izinhlelo zokusingathwa ku-Rust ezisetshenziswa ngesikhathi sokuhlanganiswa kwe-kernel.
  • Esikhundleni sokuletha amafayela ezicaciso zengxenyekazi eqondiwe akhiqizwa ngaphambilini, akhiqizwa ngokuguquguqukayo ngokusekelwe ekucushweni kwe-kernel.
  • Kwengezwe ipharamitha ye-HAVE_RUST kernel ukuze kunikwe amandla izakhiwo ezisekela i-Rust.
  • Okushunqayo kuhlongozwa ukuthi kusetshenziswe kukhodi yokugqwala yehadiwe ekhiqiza inombolo engahleliwe.
  • Kuvunyelwe ukusetshenziswa kwamakhodi ephutha ngaphandle kwesiqalo esithi "Iphutha::" (ngokwesibonelo, "return Err(EINVAL)") ukuze kulinganiselwa ukuphathwa kwamakhodi ephutha kokuthi C.
  • Kwengezwe uhlobo lwe-"CString" lwamayunithi ezinhlamvu angokwezifiso C. Izinhlobo ze-Formatter ne-Buffer zihlanganisiwe.
  • Kungezwe izinhlobo ze-Bool ne-LockInfo.
  • Ukusetshenziswa kwama-spin locks kwenziwe lula.

Source: opennet.ru

Engeza amazwana