Kernel-Patches vun der fënnefter Editioun Linux mat Ënnerstëtzung fir Rust Sproochen

Miguel Ojeda, Auteur vum Rust-for- ProjetLinux, proposéiert fir d'Berécksiichtegung vun de Kernel-Entwéckler Linux пятый вариант компонентов для разработки драйверов устройств на языке Rust. Поддержка Rust рассматривается как экспериментальная, но уже включена в ветку linux-next и достаточно развита для начала работы по созданию слоёв абстракции над подсистемами ядра, а также для написания драйверов и модулей. Разработка финансируется компанией Google и организацией ISRG (Internet Security Research Group), которая является учредителем проекта Let’s Encrypt и способствует продвижению HTTPS и развитию технологий для повышения защищённости интернета.

Erënneren, datt déi proposéiert Ännerungen maachen et méiglech Rust als zweet Sprooch ze benotzen fir Chauffeuren an Kär Moduler Entwécklungslänner. Rust Ënnerstëtzung gëtt als eng Optioun presentéiert déi net als Standard aktivéiert ass an net resultéiert datt Rust als erfuerderlech Build Ofhängegkeet fir de Kernel abegraff ass. Mat Rust fir Chauffeurentwécklung erlaabt Iech méi sécher a besser Chauffeuren mat minimalem Ustrengung ze kreéieren, fräi vu Probleemer wéi Erënnerungszougang no der Befreiung, Null Pointer-Dereferenzen, a Pufferiwwerschëss.

Gedächtnissécher Handhabung gëtt a Rust zur Kompiléierungszäit duerch Referenzkontrolle geliwwert, d'Objetbesëtzung an d'Liewensdauer vum Objekt (Ëmfang) verfollegen, souwéi duerch d'Evaluatioun vun der Richtegkeet vum Erënnerungszougang wärend der Code Ausféierung. Rust bitt och Schutz géint ganz Zuelen Iwwerschwemmungen, erfuerdert obligatoresch Initialiséierung vu variabelen Wäerter virum Gebrauch, handhabt Feeler besser an der Standardbibliothéik, applizéiert d'Konzept vun onverännerleche Referenzen a Variablen als Standard, bitt staark statesch Tippen fir logesch Feeler ze minimiséieren.

Déi nei Versioun vun de Patches eliminéiert weider d'Kommentaren, déi während der Diskussioun vun der éischter, zweeter, drëtter a véierter Editioun vun de Patches gemaach goufen. An der neier Versioun:

  • Komponent Tester fir Rust Ënnerstëtzung gouf op de kontinuéierleche Integratioun System baséiert op der Intel-ënnerstëtzt 0DAY / LKP Bot an d'Publikatioun vun Tester Rapporten ugefaang. Mir preparéiere fir Rust Ënnerstëtzung an der KernelCI automatiséiert Test System z'integréieren. Testen baséiert op GitHub CI gouf op d'Benotzung vu Container transferéiert.
  • Rust Kernel Moduler si befreit vun der Bedierfnes fir d'Këschtattributer "#![no_std]" an "#![Feature(...)]" ze definéieren.
  • Zousätzlech Ënnerstëtzung fir eenzel Versammlungsziler (.o, .s, .ll an .i).
  • Code Richtlinnen definéieren Regele fir Kommentaren ze trennen ("//") an Dokumentatioun Code ("///").
  • Den is_rust_module.sh Skript gouf ëmgeschafft.
  • Zousätzlech Ënnerstëtzung fir statesch (global gemeinsam Variabel) Synchroniséierungsprimitiven baséiert op der "CONFIG_CONSTRUCTORS" Implementatioun.
  • Spär Gestioun ass vereinfacht: Gard an GuardMut sinn kombinéiert an eent parameterized Typ.
  • Et ass méiglech zousätzlech Parameteren ze definéieren wann Dir Apparater registréiert.
  • D'"RwSemaphore" Abstraktioun bäigefüügt, déi als Wrapper iwwer d'rw_semaphore C Struktur wierkt.
  • Fir mmap ze benotzen, goufen en neie mm Modul an eng VMA Abstraktioun bäigefüügt (e Wrapper iwwer d'vm_area_struct Struktur).
  • De GPIO PL061 Chauffer gouf op de Macro "dev_*!" benotzt.
  • Eng allgemeng Botzen vum Code gouf duerchgefouert.

Source: opennet.ru

Kaaft zouverlässeg Hosting fir Site mat DDoS Schutz, VPS VDS Server 🔥 Kaaft zouverléissegt Websäithosting mat DDoS-Schutz, VPS VDS Server | ProHoster