Miguel Ojeda, เบเบนเปเบเบฝเบเบเบญเบเปเบเบเบเบฒเบ Rust-for-Linux, เปเบเปเบชเบฐเปเบซเบเบตเบชเบฐเบเบฑเบเบเบตเบซเปเบฒเบเบญเบเบญเบปเบเบเบฐเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเปเบงเบตเบญเบธเบเบฐเบเบญเบเปเบเบเบฒเบชเบฒ Rust เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบเบเบนเปเบเบฑเบเบเบฐเบเบฒ Linux kernel. เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Rust เปเบกเปเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบเบฑเบเบเบฒเบเบเบปเบเบฅเบญเบ, เปเบเปเปเบเปเบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบชเบฒเบเบฒเบเปเปเปเบเบเบญเบ linux เปเบฅเบฐเปเบเปเบเบทเบเบเบฑเบเบเบฐเบเบฒเบขเปเบฒเบเบเบฝเบเบเปเปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเปเบฎเบฑเบเบงเบฝเบเปเบเบเบฒเบเบชเปเบฒเบเบเบฑเปเบ abstraction เบซเบผเบฒเบเบเบงเปเบฒเบฅเบฐเบเบปเบเบเปเบญเบ kernel, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบเบเบฒเบเบเบฝเบเปเบเปเบงเบตเปเบฅเบฐเปเบกเบเบนเบ. เบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบกเปเบเปเบเปเบฎเบฑเบเบเบถเบเบเบฒเบ Google เปเบฅเบฐ ISRG (เบเบธเปเบกเบเบปเปเบเบเปเบงเบฒเบเบงเบฒเบกเบเบญเบเปเบเบญเบดเบเปเบเบตเปเบเบฑเบ), เปเบเบดเปเบเปเบเบฑเบเบเบนเปเบเปเปเบเบฑเปเบเปเบเบเบเบฒเบ Let's Encrypt เปเบฅเบฐเบชเบปเปเบเปเบชเบตเบก HTTPS เปเบฅเบฐเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเบฑเบเปเบเปเบฅเบขเบตเปเบเบทเปเบญเบเบฑเบเบเบธเบเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบญเบดเบเปเบเบตเปเบเบฑเบ.
เบเบทเปเปเบงเปเบงเปเบฒเบเบฒเบเบเปเบฝเบเปเบเบเบเบตเปเบชเบฐเปเบซเบเบตเปเบฎเบฑเบเปเบซเปเบกเบฑเบเบชเบฒเบกเบฒเบเบเปเบฒเปเบเป Rust เปเบเบฑเบเบเบฒเบชเบฒเบเบตเบชเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเปเบเปเบงเบตเปเบฅเบฐเปเบกเบเบนเบ kernel. เบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Rust เปเบเปเบเบทเบเบเปเบฒเบชเบฐเปเบซเบเบตเปเบเบฑเบเบเบฒเบเปเบฅเบทเบญเบเบเบตเปเบเปเปเปเบเปเปเบเบตเบเปเบเปเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบฅเบฐเบเปเปเปเบเปเบชเบปเปเบเบเบปเบเปเบซเป Rust เบเบทเบเบฅเบงเบกเปเบเบปเปเบฒเปเบเบเบฒเบเบเปเปเบชเปเบฒเบเบเบตเปเบเปเบญเบเบเบฒเบเบชเปเบฒเบฅเบฑเบ kernel. เบเบฒเบเบเปเบฒเปเบเป Rust เบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฑเบเบเบฐเบเบฒเบเบปเบเบเบฑเบเบเบฐเบเปเบงเบเปเบซเปเบเปเบฒเบเบชเปเบฒเบเปเบเปเบงเบตเบเบตเปเบเบญเบเปเบเปเบฅเบฐเบเบตเบเบงเปเบฒเบเปเบงเบเบเบงเบฒเบกเบเบฐเบเบฒเบเบฒเบกเบซเบเปเบญเบเบเบตเปเบชเบธเบ, เปเบเบเบเปเปเบกเบตเบเบฑเบเบซเบฒเปเบเบฑเปเบ: เบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเปเบญเบเบเบปเบง, เบเบฒเบเบเบฐเบเบดเปเบชเบเบเบปเบงเบเบตเป null, เปเบฅเบฐ buffer overruns.
Rust เบเบฑเบเบเบฑเบเปเบเปเบเบงเบฒเบกเบเบญเบเปเบเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบกเปเบเบเบเปเบฒเบเบเบฒเบเบเบงเบเบชเบญเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ, เบเบฒเบเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบงเบฑเบเบเบธเปเบฅเบฐเบเบฒเบเบเบดเบเบเบฒเบกเบเบฐเบซเบผเบญเบเบเบตเบงเบดเบเบเบญเบเบงเบฑเบเบเบธ (เบเบญเบเปเบเบ), เปเบฅเบฐเปเบเบเบเบฒเบเบเบฐเปเบกเบตเบเบเบงเบฒเบกเบเบทเบเบเปเบญเบเบเบญเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒเปเบเปเบงเบฅเบฒเปเบฅเปเบ. Rust เบเบฑเบเบชเบฐเบซเบเบญเบเบเบฒเบเบเปเบญเบเบเบฑเบเบเบฒเบ overflows integer, เบฎเบฝเบเบฎเปเบญเบเปเบซเปเบเปเบฒเบเบปเบงเปเบเปเบเปเบเบทเบเปเบฅเบตเปเบกเบเบปเปเบเบเปเบญเบเบเบตเปเบเบฐเบเปเบฒเปเบเป, เบกเบตเบเบฒเบเบเบฑเบเบเบฒเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเบตเบเบงเปเบฒเปเบเบซเปเบญเบเบชเบฐเบซเบกเบธเบเบกเบฒเบเบเบฐเบเบฒเบ, เปเบเปเปเบเบงเบเบงเบฒเบกเบเบดเบเบเบญเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเบเบตเปเบเปเปเบเปเบฝเบเปเบเบเปเบฅเบฐเบเบปเบงเปเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบฅเบฐเบชเบฐเบซเบเบญเบเบเบฒเบเบเบดเบกเบเบปเบเบเบตเปเบเบตเปเปเบเบฑเปเบกเปเบเบเปเบเบทเปเบญเบซเบผเบธเบเบเปเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบขเปเบฒเบเบกเบตเปเบซเบเบเบปเบ.
เบชเบฐเบเบฑเบเปเบซเบกเปเบเบญเบ patches เบเบฑเบเบชเบทเบเบเปเปเบฅเบปเบเบฅเปเบฒเบเบเปเบฒเปเบซเบฑเบเบเบตเปเปเบเปเปเบฎเบฑเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบชเบปเบเบเบฐเบเบฒเบเบญเบเบชเบฐเบเบฑเบเบเปเบฒเบญเบดเบ, เบเบตเบชเบญเบ, เบเบตเบชเบฒเบกเปเบฅเบฐเบชเบตเปเบเบญเบ patches. เปเบโเบชเบฐโเบเบฑเบโเปเบซเบกเปโ:
- เบเบฒเบเบเบปเบเบชเบญเบเบญเบปเบเบเบฐเบเบญเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Rust เปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเบฅเบฐเบเบปเบเบเบฒเบเปเบเบทเปเบญเบกเปเบเบเบขเปเบฒเบเบเปเปเปเบเบทเปเบญเบเปเบเบเบญเบตเบเปเบชเป bot เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Intel 0DAY/LKP เปเบฅเบฐเบเบฒเบเบเบดเบกเปเบเบตเบเปเบเปเบเบปเบเบฅเบฒเบเบเบฒเบเบเบฒเบเบเบปเบเบชเบญเบเปเบเปเปเบฅเบตเปเบกเบเบปเปเบ. เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบฅเบฑเบเบเบฐเบเบฝเบกเบเบตเปเบเบฐเบเบฐเบชเบปเบกเบเบฐเบชเบฒเบเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ Rust เปเบเบปเปเบฒเปเบเปเบเบฅเบฐเบเบปเบเบเบฒเบเบเบปเบเบชเบญเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ KernelCI. เบเบฒเบเบเบปเบเบชเบญเบเปเบเบเบญเบตเบเปเบชเป GitHub CI เปเบเปเบเบทเบเปเบญเบเปเบเบซเบฒเบเบฒเบเบเปเบฒเปเบเปเบเบฑเบเบเบธ.
- เปเบกเบเบนเบเปเบเปเบ Rust เปเบเปเบเบทเบเบเบปเบเบเปเบญเบเบเบฒเบเบเบงเบฒเบกเบเปเบญเบเบเบฒเบเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐ crate โ#![no_std]โ เปเบฅเบฐ โ#![feature(โฆ)]โ.
- เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเปเบเบปเปเบฒเบซเบกเบฒเบเบเบฒเบเบเบฐเบเบญเบเบเบฝเบง (.o, .s, .ll เปเบฅเบฐ .i).
- เบเปเปเปเบเบฐเบเปเบฒเบฅเบฐเบซเบฑเบเบเปเบฒเบเบปเบเบเบปเบเบฅเบฐเบเบฝเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบเบเปเบฒเปเบซเบฑเบ (โ//โ) เปเบฅเบฐเบฅเบฐเบซเบฑเบเปเบญเบเบฐเบชเบฒเบ (โ///โ).
- เบชเบฐเบเบฃเบดเบ is_rust_module.sh เปเบเปเปเบฎเบฑเบเบงเบฝเบเบเบทเบเปเปเปเปเบฅเปเบง.
- เปเบเบตเปเบกเบเบฒเบเบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ synchronization static (global sharevariable) primitives เบญเบตเบเปเบชเปเบเบฒเบเบเบฐเบเบดเบเบฑเบ "CONFIG_CONSTRUCTORS".
- เบเบฒเบโเบเบธเปเบกโเบเบญเบ Lock เปเบกเปเบโเบเปเบฒเบโเบเบฒเบโ: เบเบญเบโเปเบฅเบฐ GuardMut เปเบกเปเบโเบฅเบงเบกโเปเบฅเบฐโเบซเบเบถเปเบโเบเบฐโเปเบเบ parameterizedโ.
- เบกเบฑเบเปเบเบฑเบเปเบเปเบเปเบเบตเปเบเบฐเบเปเบฒเบเบปเบเบเบปเบงเบเปเบฒเบเบปเบเบเบฒเบเปเบเบตเปเบกเปเบเบตเบกเปเบเปเบงเบฅเบฒเบเบตเปเบฅเบปเบเบเบฐเบเบฝเบเบญเบธเบเบฐเบเบญเบ.
- เปเบเบตเปเบก "RwSemaphore" abstraction, เปเบเบดเปเบเปเบฎเบฑเบเบซเบเปเบฒเบเบตเปเปเบเบฑเบ wrapper เปเบเปเบฅเบเบฐเปเบเบเบชเปเบฒเบ C rw_semaphore.
- เปเบเบทเปเบญเปเบเป mmap, เปเบกเบเบนเบ mm เปเปเป เปเบฅเบฐ VMA abstraction เปเบเปเบเบทเบเปเบเบตเปเบก (wrapper เบขเบนเปเปเบเบดเบเปเบเบเบชเปเบฒเบ vm_area_struct).
- เปเบเปเบงเบต GPIO PL061 เปเบเปเบเบทเบเบเปเบฝเบเปเบเปเบเป โdev_*!โ macro.
- เบเบฒเบเบเปเบฒเบเบงเบฒเบกเบชเบฐเบญเบฒเบเบเบปเปเบงเปเบเบเบญเบเบฅเบฐเบซเบฑเบเปเบเปเบเบทเบเบเบฐเบเบดเบเบฑเบ.
เปเบซเบผเปเบเบเปเปเบกเบนเบ: opennet.ru