Fimmta útgáfa af plástra fyrir Linux kjarnann með stuðningi fyrir Rust tungumálið

Miguel Ojeda, höfundur Rust-for-Linux verkefnisins, lagði til fimmtu útgáfu af íhlutum til að þróa tækjarekla á Rust tungumálinu til skoðunar hjá Linux kjarnahönnuðum. Ryðstuðningur er talinn tilraunakenndur, en er þegar innifalinn í Linux-next greininni og er nægilega þróaður til að hefja vinnu við að búa til abstraktlög yfir kjarna undirkerfi, auk þess að skrifa rekla og einingar. Þróunin er styrkt af Google og ISRG (Internet Security Research Group), sem er stofnandi Let's Encrypt verkefnisins og stuðlar að HTTPS og þróun tækni til að bæta öryggi internetsins.

Mundu að fyrirhugaðar breytingar gera það mögulegt að nota Rust sem annað tungumál til að þróa rekla og kjarnaeiningar. Ryðstuðningur er settur fram sem valkostur sem er ekki virkur sjálfgefið og leiðir ekki til þess að Rust sé innifalinn sem nauðsynleg byggingarháð fyrir kjarnann. Með því að nota Ryð til að þróa ökumenn geturðu búið til öruggari og betri ökumenn með lágmarks fyrirhöfn, laus við vandamál eins og minnisaðgang eftir losun, frávísanir á núllbendi og offramkeyrsla á biðminni.

Minnisörugg meðhöndlun er veitt í Rust á samantektartíma með tilvísunarathugun, með því að halda utan um eignarhald og endingartíma hluta (umfang), sem og með mati á réttmæti minnisaðgangs við keyrslu kóða. Ryð veitir einnig vernd gegn heiltöluflæði, krefst skyldubundinnar frumstillingar breytugilda fyrir notkun, meðhöndlar villur betur í stöðluðu bókasafni, beitir hugmyndinni um óbreytanlegar tilvísanir og breytur sjálfgefið, býður upp á sterka truflanir innsláttar til að lágmarka rökvillur.

Nýja útgáfan af plástrunum heldur áfram að útrýma athugasemdunum sem gerðar voru við umfjöllun um fyrstu, aðra, þriðju og fjórðu útgáfu plástra. Í nýju útgáfunni:

  • Íhlutaprófun fyrir ryðstuðning hefur verið bætt við samfellda samþættingarkerfið sem byggir á Intel-studdum 0DAY/LKP botni og útgáfa prófunarskýrslna er hafin. Við erum að undirbúa að samþætta Rust stuðning í KernelCI sjálfvirka prófunarkerfið. Prófun byggð á GitHub CI hefur verið færð yfir í notkun íláta.
  • Ryðkjarnaeiningar eru lausar við þörfina á að skilgreina grindaeiginleikana „#![no_std]“ og „#![eiginleika(…)]“.
  • Bætt við stuðningi fyrir stakar samsetningarmarkmið (.o, .s, .ll og .i).
  • Leiðbeiningar um kóða skilgreina reglur um aðskilnað athugasemda (“//”) og skjalfestingarkóða (“///”).
  • is_rust_module.sh forskriftin hefur verið endurunnin.
  • Bætti við stuðningi við kyrrstæða (alþjóðlega sameiginlega breytu) frumsamstillingu sem byggir á „CONFIG_CONSTRUCTORS“ útfærslunni.
  • Lásstjórnun er einfölduð: Guard og GuardMut eru sameinuð og ein gerð með breytu.
  • Það er hægt að skilgreina viðbótarfæribreytur þegar tæki eru skráð.
  • Bætti við „RwSemaphore“ útdrættinum, sem virkar sem umbúðir yfir rw_semaphore C uppbygginguna.
  • Til að nota mmap hefur nýrri mm einingu og VMA útdrætti verið bætt við (umbúðir yfir vm_area_struct uppbyggingu).
  • GPIO PL061 reklanum hefur verið skipt yfir í að nota „dev_*!“ fjölva.
  • Almenn hreinsun á kóðanum var framkvæmd.

Heimild: opennet.ru

Bæta við athugasemd