Daabacaadda shanaad ee patches ee kernel Linux oo taageero u ah luqadda Rust

Miguel Ojeda, oo ah qoraaga mashruuca Rust-for-Linux, ayaa soo jeediyay nooca shanaad ee qaybaha lagu horumarinayo wadayaasha aaladaha luqadda Rust si ay u tixgaliyaan horumariyeyaasha kernel Linux. Taageerada miridhku waxa loo tixgaliyaa inay tahay tijaabo, laakiin waxa hore loogu daray laanta linux-xigta oo si ku filan loo horumariyay si ay u bilawdo abuurista lakabyo la taaban karo oo ka koraya nidaamyada kernel-ka, iyo sidoo kale qorista darawalada iyo cutubyada. Horumarinta waxaa maalgeliya Google iyo ISRG (Kooxda Cilmi-baarista Amniga Internetka), oo ah aasaasaha mashruuca Aynu Encryption oo dhiirrigeliya HTTPS iyo horumarinta tignoolajiyada si loo hagaajiyo amniga internetka.

Xusuusnow in isbeddellada la soo jeediyay ay suurtogal ka dhigayaan in la isticmaalo Rust sida luqadda labaad ee horumarinta darawallada iyo qaybaha kernel-ka. Taageerada miridhku waxa loo soo bandhigay sidii ikhtiyaar aan si toos ah u shaqayn oo aan keenin in miridhku lagu daro sidii ku-tiirsanaanta loo baahan yahay ee kernel-ka. Isticmaalka Rust ee horumarinta darawalka waxay kuu oggolaan doontaa inaad abuurto darawallo badbaado leh oo ka wanaagsan oo leh dadaal yar, oo ka madax bannaan dhibaatooyinka sida gelitaanka xusuusta ka dib markii la sii daayo, tilmaameyaal aan waxba lahayn, iyo xad-dhaaf ah.

Badbaadada xusuusta waxaa lagu bixiyaa miridhku marka la ururiyo wakhtiga iyada oo la hubinayo tixraaca, la socodka lahaanshaha shay iyo cimriga shayga (baaxadda), iyo sidoo kale iyada oo loo marayo qiimaynta saxda ah ee helitaanka xusuusta inta lagu jiro fulinta koodka. Daxalku sidoo kale wuxuu ka ilaaliyaa qulqulka isdhaafsiga, wuxuu u baahan yahay bilawga qasabka ah ee qiyamka doorsoomka ka hor intaan la isticmaalin, wuxuu si fiican u maareeyaa khaladaadka maktabadda caadiga ah, wuxuu dabaqaa fikradda tixraacyada aan bedeli karin iyo doorsoomayaasha si caadi ah, waxay bixisaa qorid adag oo adag si loo yareeyo khaladaadka macquulka ah.

Nooca cusub ee balastarku wuxuu sii wadaa inuu baabi'iyo faallooyinka la sameeyay intii lagu jiray doodii koobaad, labaad, saddexaad iyo afraad ee dhejisyada. Nooca cusub:

  • Tijaabada qaybaha taageerada miridhku waxa lagu daray nidaamka is dhexgalka joogtada ah ee ku salaysan Intel ay taageerto 0DAY/LKP bot iyo daabacaadda warbixinnada imtixaanku waa bilaabmay. Waxaan isku diyaarineynaa in aan ku biirino taageerada Rust nidaamka tijaabinta tooska ah ee KernelCI. Tijaabada ku salaysan GitHub CI ayaa loo wareejiyay isticmaalka weelasha.
  • Qaybaha kernel-ka miridhku waa laga xoreeyay baahida loo qabo in la qeexo sifooyinka "#! [no_std]" iyo "#![feature(...)]".
  • Taageerada lagu daray bartilmaameedyada hal shir ee (.o, .s, .ll iyo .i).
  • Tilmaamaha xeerku waxay qeexaan xeerarka kala saarida faallooyinka ("//") iyo koodka diiwaan gelinta ("///").
  • Farta is_rust_module.sh ayaa dib loo habeeyey
  • Taageerada lagu daray ee is-waafajinta joogtada ah (doorsoomayaasha caalamiga ah ee la wadaago) ee ku salaysan hirgelinta "CONFIG_CONSTRUCTORS".
  • Maareynta qufulka waa la fududeeyay: Guard iyo GuardMut waa la isku daray iyo hal nooc oo la cabbiray.
  • Waa suurtogal in la qeexo cabbirro dheeraad ah marka la diiwaangelinayo qalabka.
  • Waxaa lagu daray "RwSemaphore" abstraction, kaas oo u shaqeeya sidii duubab ka sarreeya qaab dhismeedka rw_semaphore C.
  • Si loo isticmaalo mmap, module mm cusub iyo soosaar VMA ah ayaa lagu daray
  • Darawalka GPIO PL061 ayaa loo beddelay isticmaalka "dev_*!"
  • Nadiifin guud oo koodhka ayaa la sameeyay.

Source: opennet.ru

Add a comment