Rūsa glābs Linux: Gregs Kroahs-Hartmans apstiprina eksperimenta beigas

Galvenie punkti:
  • Gregs Kroahs-Hartmans Rust Week 2026 pasākumā paziņoja, ka Rust izmantošana Linux kodolā vairs nav eksperiments un kļūst par oficiālu standartu.
  • Linux komanda katru dienu saskaras ar gandrīz 13 ievainojamības ziņojumiem, ko galvenokārt izraisa cilvēciskas kļūdas C valodā.
  • Rust kompilators automātiski nosaka atmiņas kļūdas un avārijas, kas varētu samazināt sistēmas kļūmes līdz pat 80%.
  • Tiks ieviesta sistēma, kas aparatūras datus apzīmēs kā "neuzticamus", piespiežot izstrādātājus tos validēt pirms to izmantošanas.
  • Pašreizējais C kods (36 miljoni rindiņu) netiks pārrakstīts. Rust tiks izmantots tikai jaunu kontrolieru un apakšsistēmu izstrādei.

Rūsas nedēļa 2026

Nesenajā Rust Week 2026 konferencē, kas notika Utrehtā, Gregs Kroahs-Hartmans, viens no galvenajiem cilvēkiem, kas atbild par Linux kodola uzturēšanu, kāpa uz skatuves ar ļoti skaidru vēstījumu: Rust ir glābiņš, kas projektam ir nepieciešams.

Ar satriecošiem trīspadsmit CVE (bieži sastopamām ievainojamībām), kas tiek publicētas katru dienu , izstrādātāju komanda saskaras ar gandrīz nekontrolējamu kļūdu apjomu. Pēc Kroahas-Hartmanes, kura ar šīm ievainojamībām cīnās kopš 2005. gada, teiktā, vaina ir C valodas klasiskajos trūkumos atmiņas un kļūdu apstrādē — problēmā, ko Rust sola ievērojami mazināt.

Vēstījums bija tiešs un vienkāršs auditorijai, kas bija pilna ar izstrādātājiem. Pieredzējušais programmētājs atzinās, ka komanda pilnībā uzticas Rust kopienai, lai tā aizsargātu mūsdienu skaitļošanas pamatus. Viņiem testēšanas fāze ir beigusies, jo Rust izmantošana kodolā tagad ir realitāte, un viņi pilnā ātrumā virzīsies uz priekšu, lai to integrētu vissvarīgākajos komponentos.

C koda murgs un Rust automātiskais risinājums

Lai ilustrētu reālo problēmu, ar kuru viņi saskaras katru dienu , izstrādātājs atgādināja par Bluetooth koda trūkumu, kas piecpadsmit gadus palika nepamanīts un ko izraisīja vienkārši atmiņas rādītāja nepārbaude . Viņš arī pieminēja kļūdu Xen kodā, kur kāds aizmirsa atbrīvot bloķēšanu . Šīs mazās cilvēku kļūdas laika gaitā uzkrājas un galu galā izraisa sistēmas avārijas vai paver durvis kiberuzbrukumiem. Rust lielākā priekšrocība ir tā, ka tas uztver šīs kļūdas koda kompilācijas laikā , pirms tas sasniedz pārskatīšanas posmu. Ja programmētājs aizmirst pārbaudīt kļūdu vai atbrīvot resursu, programma vienkārši atsakās kompilēties.

Pateicoties šai automātiskajai pārbaudei , koda recenzentiem vairs nav jātērē laiks, meklējot sīkas detaļas, un viņi var koncentrēties uz programmas faktisko loģiku. Kroah-Hartman lēš, ka tikai šīs funkcijas novērsīs sešdesmit procentus pašreizējo kodola kļūdu. Turklāt šī jaunā darba metode jau ir ietekmējusi C kodu, piespiežot programmētājus sakopt savas saskarnes un ieviest drošākas metodes, pierādot, ka Rust esamība pati par sevi jau ir uzlabojusi Linux.

Papildus atmiņas bloķēšanai runā tika pievērsta uzmanība svarīgai drošības filozofijai, kuras pamatā ir vecs Microsoft princips: pieņemt, ka visi sistēmā ienākošie dati ir ļaunprātīgi . Kroa-Hartmane paskaidroja, ka viņi strādā pie metodes Rust ietvaros, lai datus pašā tipu sistēmā skaidri apzīmētu kā "neuzticamus".

Tādā veidā kompilators piespiedīs programmētāju validēt šo informāciju, pirms to var izmantot vai tai piekļūt . Tas ir īpaši svarīgi mūsdienās, jo izstrādātāji neuzticas ne tikai lietotāju programmām, bet arī pašai aparatūrai, kurai bieži vien ir rūpnīcas defekti vai kura var pat būt ļaunprātīgi izstrādāta. Koncentrējot visu validāciju vienuviet, drošības pārbaudes būs daudz ātrākas un precīzākas.

Evolūcija bez pārrakstīšanas no nulles

Neskatoties uz savu entuziasmu, eksperts skaidri norādīja, ka Rust nav maģija . Kā piemēru viņš minēja nelielu koda fragmentu, kas rakstīts Rust valodā un paredzēts QR koda attēlošanai sistēmas avārijas gadījumā, kas galu galā izraisīja atmiņas problēmas, jo neviens neiedomājās pārbaudīt datu bufera lielumu. Rust var arī neizdoties, ja to neizmanto uzmanīgi un ar veselo saprātu. Šī iemesla dēļ neviens organizācijā neapsver iespēju pārrakstīt 36 miljonus C koda rindiņu, kas jau ir Linux. Noteikums ir skaidrs: vecais kods paliek tāds, kāds ir, un jaunie rīki tiks izmantoti tikai modernu draiveru izveidei.

Pašlaik kodols Rust valodā sastāv tikai no aptuveni 113 000 rindiņām , kas galvenokārt ir īslaicīgas pielāgošanas, lai pārvarētu plaisu starp abām valodām. Tomēr tādi lieli projekti kā Android iekšējās komunikācijas sistēma (Binder) jau atrodas pārejas procesā , kas nozīmē, ka drīzumā miljardiem tālruņu katru dienu darbinās šo kodu.

Projekts pieņem šīs izmaiņas kā dabisku evolūciju, kur vecie C draiveri gadu gaitā vienkārši vairs netiks izmantoti, jo jauna aparatūra pieprasīs programmas, kas izveidotas no nulles ar modernām drošības garantijām.


Pievienot kā vēlamo avotu pakalpojumā Google