ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π»ΠΈΠ· ΡΠ΄ΡΠ° Linux 6.1. Π‘ΡΠ΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust, ΠΌΠΎΠ΄Π΅ΡΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΌΠ΅Π½Π΅Π΄ΠΆΠ΅Ρ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΈΡΡΠ΅ΠΌΠ° Π΄ΠΈΠ°Π³Π½ΠΎΡΡΠΈΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ ΠΏΠ°ΠΌΡΡΡΡ KMSAN, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠΈΡΡ KCFI (Kernelk Control-Flow Integrity), Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΠ΅ ΡΡΡΡΠΊΡΡΡΡ Maple tree.
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 15115 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 2139 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° — 51 ΠΠ, ΡΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ Π² 2 ΡΠ°Π·Π° ΠΌΠ΅Π½ΡΡΠ΅ ΡΠ°Π·ΠΌΠ΅ΡΠ° ΠΏΠ°ΡΡΠ΅ΠΉ ΠΎΡ ΡΠ΄Π΅Ρ 6.0 ΠΈ 5.19. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 13165 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 716247 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠ΄Π°Π»Π΅Π½ΠΎ 304560 ΡΡΡΠΎΠΊ. ΠΠΊΠΎΠ»ΠΎ 45% Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² 6.1 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 14% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, 14% ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 3% — Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 3% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π° Π² ΡΠ΄ΡΠ΅ 6.1:
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ·ΡΠΊΠ° Rust Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°. ΠΡΠ½ΠΎΠ²Π½ΡΠΌ ΠΌΠΎΡΠΈΠ²ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Rust ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠΎΡΠ΅Π½ΠΈΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΡ ΠΈ ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΡΡΡΡΠΎΠΉΡΡΠ² Π·Π° ΡΡΡΡ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡΠΈ ΡΠΎΠ²Π΅ΡΡΠ΅Π½ΠΈΡ ΠΎΡΠΈΠ±ΠΎΠΊ ΠΏΡΠΈ ΡΠ°Π±ΠΎΡΠ΅ Ρ ΠΏΠ°ΠΌΡΡΡΡ. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Rust Π½Π΅Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Rust Π² ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΊ ΡΠ΄ΡΡ. Π ΡΠ΄ΡΠΎ ΠΏΠΎΠΊΠ° ΠΏΡΠΈΠ½ΡΡ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΡΡΠ΅Π·Π°Π½Π½ΡΠΉ Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠ°ΡΡΠ΅ΠΉ, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠΊΡΠ°ΡΡΠ½ Ρ 40 Π΄ΠΎ 13 ΡΡΡΡΡ ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π° ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ»ΡΠΊΠΎ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ, Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΡΠΉ Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΠΏΡΠΎΡΡΠΎΠ³ΠΎ ΠΌΠΎΠ΄ΡΠ»Ρ ΡΠ΄ΡΠ°, Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΠΏΠ»Π°Π½ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎΡΡΠ΅ΠΏΠ΅Π½Π½ΠΎ Π½Π°ΡΠ°ΡΠΈΠ²Π°ΡΡ ΠΈΠΌΠ΅ΡΡΡΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ, ΠΏΠ΅ΡΠ΅Π½ΠΎΡΡ ΠΈ Π΄ΡΡΠ³ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ Rust-for-Linux. ΠΠ°ΡΠ°Π»Π»Π΅Π»ΡΠ½ΠΎ ΡΠ°Π·Π²ΠΈΠ²Π°ΡΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΡ ΠΏΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π½Π° ΡΠ·ΡΠΊΠ΅ Rust Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ NVMe, ΡΠ΅ΡΠ΅Π²ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° 9p ΠΈ GPU Apple M1.
- ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ AArch64, RISC-V ΠΈ LoongArch Ρ EFI ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΡΠΌΠΎΠΉ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΡΠΆΠ°ΡΡΡ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΡΠ΄ΡΠ°. ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ Π΄Π»Ρ Π·Π°Π³ΡΡΠ·ΠΊΠΈ, Π·Π°ΠΏΡΡΠΊΠ° ΠΈ Π²ΡΠ³ΡΡΠ·ΠΊΠΈ ΠΎΠ±ΡΠ°Π·ΠΎΠ² ΡΠ΄ΡΠ°, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΠ΅ Π½Π°ΠΏΡΡΠΌΡΡ ΠΈΠ· EFI zboot. Π’Π°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² ΠΈΠ· ΠΠ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»ΠΎΠ² EFI. Π Π°Π½Π΅Π΅ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠ° ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ»Π°ΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΌ Π·Π°Π³ΡΡΠ·ΡΠΈΠΊΠΎΠΌ, Π° ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ Π΄Π΅Π»Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊ Π² ΡΠ°ΠΌΠΎΠΌ ΡΠ΄ΡΠ΅ — ΠΎΠ±ΡΠ°Π· ΡΠ΄ΡΠ° ΡΠΎΡΠΌΠΈΡΡΠ΅ΡΡΡ Π² Π²ΠΈΠ΄Π΅ EFI-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
- Π ΡΠΎΡΡΠ°Π² ΠΏΡΠΈΠ½ΡΡΠ° ΡΠ°ΡΡΡ ΠΏΠ°ΡΡΠ΅ΠΉ Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²Π½Π΅Π²ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΉ ΡΠ°Π·Π΄Π΅Π»ΡΡΡ Π±Π°Π½ΠΊΠΈ ΠΏΠ°ΠΌΡΡΠΈ Ρ ΡΠ°Π·Π½ΡΠΌΠΈ Ρ Π°ΡΠ°ΠΊΡΠ΅ΡΠΈΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠ³ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠ°ΡΡΡΡ Π² Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π±ΡΡΡΡΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π° ΡΠ΅Π΄ΠΊΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΌΠΎΠ³ΡΡ Ρ ΡΠ°Π½ΠΈΡΡΡ Π² ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. Π ΡΠ΄ΡΠΎ 6.1 ΠΏΡΠΈΠ½ΡΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π΄Π»Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΈΠ½ΡΠ΅Π½ΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ ΡΡΡΠ°Π½ΠΈΡ Π² ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π΄Π»Ρ ΠΈΡ ΠΏΡΠΎΠ΄Π²ΠΈΠΆΠ΅Π½ΠΈΡ Π² Π±ΡΡΡΡΡΡ ΠΏΠ°ΠΌΡΡΡ, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠ±ΡΠ°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡ ΡΡΠΎΠ²Π½Π΅ΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΈ ΠΈΡ ΠΎΡΠ½ΠΎΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ.
- Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΡΠ½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ MGLRU (Multi-Generational LRU), ΠΊΠΎΡΠΎΡΡΠΉ Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΡΠΎΠ±ΠΎΠΉ ΡΡΠ°ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ LRU (Least Recently Used) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ Π΄Π²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Π΅ΠΉ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΡΡΠΏΠ΅Π½ΡΠ°ΡΡΡ ΡΡΡΡΠΊΡΡΡΡ, Π»ΡΡΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΡΡ ΠΊΠ°ΠΊΠΈΠ΅ ΡΡΡΠ°Π½ΠΈΡΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΠΎ Π½Π°ΡΡΠΎΡΡΠ΅ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ, Π° ΠΊΠ°ΠΊΠΈΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΡΡΠ΅ΡΠ½ΠΈΡΡ Π² ΡΠ°Π·Π΄Π΅Π» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅ΡΠ°ΠΌΠΈ Oracle ΡΡΡΡΠΊΡΡΡΡ Π΄Π°Π½Π½ΡΡ «maple tree», ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ Π±ΠΎΠ»Π΅Π΅ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½Π°Ρ Π·Π°ΠΌΠ΅Π½Π° ΡΡΡΡΠΊΡΡΡΠ΅ «red-black tree». Maple tree ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΎΠ±ΠΎΠΉ Π²Π°ΡΠΈΠ°Π½Ρ B-tree, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠΉ ΠΈ ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΊΡΡΠ° ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠΎΠ². ΠΠ° maple tree ΡΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ, ΡΡΠΎ ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΎΡΡΠ°Π·ΠΈΠ»ΠΎΡΡ Π½Π° ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. Π Π±ΡΠ΄ΡΡΠ΅ΠΌ maple tree ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ ΠΏΠΎ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π°ΠΌ (range locking).
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ BPF Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ «Π΄Π΅ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΡ » BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ ΡΠ°ΡΡΡΠΈΡΠ°Π½Π½ΡΡ Π½Π° ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π°Π²Π°ΡΠΈΠΉΠ½ΠΎΠ³ΠΎ Π·Π°Π²Π΅ΡΡΠ΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡΡ ΡΠ΅ΡΠ΅Π· Π²ΡΠ·ΠΎΠ² crash_kexec(). ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π² ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΡ ΡΠ΅Π»ΡΡ Π΄Π»Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ crash-Π΄Π°ΠΌΠΏΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ. ΠΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΊ Π΄Π΅ΡΡΡΡΠΊΡΠΈΠ²Π½ΡΠΌ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡΠΌ ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΡΠ»Π°Π³Π° BPF_F_DESTRUCTIVE, Π°ΠΊΡΠΈΠ²Π°ΡΠΈΡ sysctl kernel.destructive_bpf_enabled ΠΈ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΏΡΠ°Π² CAP_SYS_BOOT.
- ΠΠ»Ρ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² cgroup, Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠ° ΡΠ΅ΡΡΡΡΠΎΠ² (ΡΠ°ΠΉΠ»Ρ, vma, ΠΏΡΠΎΡΠ΅ΡΡΡ ΠΈ Ρ.ΠΏ.) ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΡΠΎΠΊΠ° ΠΈΠ»ΠΈ Π·Π°Π΄Π°ΡΠΈ. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ map-ΡΠΈΠΏ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΈΡ ΠΊΠΎΠ»ΡΡΠ΅Π²ΡΡ Π±ΡΡΠ΅ΡΠΎΠ² (user ring buffer).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² Π΄Π»Ρ Π²ΡΠ΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ (memory allocator), ΠΊΠΎΡΠΎΡΡΠΉ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΠ΅ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ ΠΏΠ°ΠΌΡΡΠΈ Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ΅ BPF, ΡΠ΅ΠΌ ΡΡΠ°ΡΠ½ΡΠΉ kmalloc().
- ΠΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠ΅ΡΠ²Π°Ρ ΡΠ°ΡΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² Π²Π²ΠΎΠ΄Π° Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠΌ HID (Human Interface Device), ΡΠ΅Π°Π»ΠΈΠ·ΡΠ΅ΠΌΡΡ Π² ΡΠΎΡΠΌΠ΅ BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ.
- ΠΠ· ΡΠ΄ΡΠ° ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠΎΡΠΌΠ°ΡΠ° ΠΈΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² a.out, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΏΠ΅ΡΠ΅Π²Π΅Π΄ΡΠ½ Π² ΡΠ°Π·ΡΡΠ΄ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π² Π²ΡΠΏΡΡΠΊΠ΅ 5.1, Π° Π½Π°ΡΠΈΠ½Π°Ρ Ρ Π²Π΅ΡΡΠΈΡΡ 5.18 ΠΈ 5.19 Π±ΡΠ» ΠΎΡΠΊΠ»ΡΡΡΠ½ Π΄Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ. Π€ΠΎΡΠΌΠ°Ρ a.out Π΄Π°Π²Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Linux, Π° Π³Π΅Π½Π΅ΡΠ°ΡΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² a.out Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅ΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠΌΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠ°Π»ΡΠ½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ Π² ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΡ Π΄Π»Ρ Linux ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ. ΠΠ°Π³ΡΡΠ·ΡΠΈΠΊ Π΄Π»Ρ a.out ΡΠ°ΠΉΠ»ΠΎΠ² ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ LoongArch, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Loongson 3 5000 ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ Π½ΠΎΠ²ΡΠΉ RISC ISA, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° MIPS ΠΈ RISC-V, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ±ΡΡΠΈΠΉ ΠΈΠ·ΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ (perf event), kexec, kdump ΠΈ JIT-ΠΊΠΎΠΌΠΏΠΈΠ»ΡΡΠΈΠΈ BPF.
- Π ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ΅ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π° io_uring ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ IORING_SETUP_DEFER_TASKRUN, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠ»ΠΎΠΆΠΈΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΠ²ΡΠ·Π°Π½Π½ΡΡ Ρ ΠΊΠΎΠ»ΡΡΠ΅Π²ΡΠΌ Π±ΡΡΠ΅ΡΠΎΠΌ ΡΠ°Π±ΠΎΡ Π΄ΠΎ ΠΌΠΎΠΌΠ΅Π½ΡΠ°, ΠΏΠΎΠΊΠ° Π½Π΅ ΠΏΠΎΡΡΡΠΏΠΈΡ Π·Π°ΠΏΡΠΎΡ ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ Π΄Π»Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ°Π±ΠΎΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π·Π°Π΄Π΅ΡΠΆΠΊΠ°ΠΌΠΈ ΠΈΠ·-Π·Π° Π²ΡΡΠ΅ΡΠ½Π΅Π½ΠΈΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π² Π½Π΅ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠΈΠΉ ΠΌΠΎΠΌΠ΅Π½Ρ.
- ΠΡΠΎΡΠ΅ΡΡΠ°ΠΌ Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π° ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π² Π½Π°Π±ΠΎΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ (Transparent Huge-Pages).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΡΡΡΠΎΠΉΡΡΠ²Π° /dev/userfaultfd, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ Π²ΡΠ·ΠΎΠ²Π° userfaultfd() Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° Π² Π€Π‘. Π€ΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ userfaultfd ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΈ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ ΠΊ Π½Π΅Π²ΡΠ΄Π΅Π»Π΅Π½Π½ΡΠΌ ΡΡΡΠ°Π½ΠΈΡΠ°ΠΌ ΠΏΠ°ΠΌΡΡΠΈ (page faults) Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ.
- ΠΠΎΠ²ΡΡΠ΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ ΡΡΠΈΠ»ΠΈΡΡ GNU Make — Π΄Π»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΄ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ Π²Π΅ΡΡΠΈΡ 3.82.
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ Btrfs Π²Π½Π΅ΡΠ΅Π½Ρ ΡΡΡΠ΅ΡΡΠ²Π΅Π½Π½ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΡΠ΅Π΄ΠΈ ΠΏΡΠΎΡΠ΅Π³ΠΎ Π½Π° ΠΏΠΎΡΡΠ΄ΠΊΠΈ ΡΠ²Π΅Π»ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ioctl-Π²ΡΠ·ΠΎΠ²Π° FIEMAP. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠΉ Π±ΡΡΠ΅ΡΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π΄Π»Ρ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΡ io_uring. Π ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ «send» Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ°ΠΉΠ»ΠΎΠ², Π·Π°ΡΠΈΡΡΠ½Π½ΡΡ ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ fs-verity.
- Π Π€Π‘ ext4 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ ΠΆΡΡΠ½Π°Π»Π° ΠΈ ΡΠ°Π±ΠΎΡΠΎΠΉ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ EROFS (Enhanced Read-Only File System), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΡΠ°Π·Π΄Π΅Π»Π°Ρ , Π΄ΠΎΡΡΡΠΏΠ½ΡΡ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΡΡΠ΅Π½ΠΈΡ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠ½ΠΎΠ³ΠΎ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ , Π΄ΡΠ±Π»ΠΈΡΡΡΡΠΈΡ ΡΡ Π² ΡΠ°Π·Π½ΡΡ Π€Π‘.
- Π ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ Π²ΡΠ·ΠΎΠ² statx() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΡΠ²ΠΎΠ΄Π° ΡΠ²Π΅Π΄Π΅Π½ΠΈΠΉ ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊ ΡΠ°ΠΉΠ»Ρ ΠΏΡΡΠΌΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°.
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ FUSE (Filesystems in User Space) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Ρ ΡΠ»Π°Π³ΠΎΠΌ O_TMPFILE.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- ΠΠ°ΠΌΠ΅Π½Π΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°ΡΠΈΡΡ CFI (Control Flow Integrity), Π΄ΠΎΠ±Π°Π²Π»ΡΡΡΠ΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ ΠΊΠ°ΠΆΠ΄ΡΠΌ ΠΊΠΎΡΠ²Π΅Π½Π½ΡΠΌ Π²ΡΠ·ΠΎΠ²ΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΠΌ Π½Π΅ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΡΠ΅Π½ΡΠΈΠ°Π»ΡΠ½ΠΎ ΠΌΠΎΠ³ΡΡ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (control flow) Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ. Π¨ΡΠ°ΡΠ½Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ CFI ΠΎΡ ΠΏΡΠΎΠ΅ΠΊΡΠ° LLVM Π·Π°ΠΌΠ΅Π½Π΅Π½Π° Π½Π° Π²Π°ΡΠΈΠ°Π½Ρ, ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ½ΠΎΠ²Π°Π½Π½ΡΠΉ Π½Π° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ Clang, Π½ΠΎ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°Π½Π½ΡΠΉ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ ΠΈ ΡΠ΄Π΅Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½ΡΡ ΡΠΈΡΡΠ΅ΠΌ. Π LLVM Π½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π² Π²ΡΠΏΡΡΠΊΠ΅ Clang 16 ΠΈ Π±ΡΠ΄Π΅Ρ Π²ΠΊΠ»ΡΡΠ°ΡΡΡΡ ΠΎΠΏΡΠΈΠ΅ΠΉ «-fsanitize=kcfi». ΠΠ»ΡΡΠ΅Π²ΡΠΌ ΠΎΡΠ»ΠΈΡΠΈΠ΅ΠΌ Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΎ, ΡΡΠΎ ΠΎΠ½Π° Π½Π΅ ΠΏΡΠΈΠ²ΡΠ·Π°Π½Π° ΠΊ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΡΠΌ Π½Π° ΡΡΠ°ΠΏΠ΅ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΡ (LTO) ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π·Π°ΠΌΠ΅Π½Π΅ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ ΡΡΠ½ΠΊΡΠΈΠΉ Π½Π° ΡΡΡΠ»ΠΊΠΈ Π² ΡΠ°Π±Π»ΠΈΡΠ΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΎΠ².
- ΠΠ»Ρ LSM-ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ (Linux Security Module) ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΏΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½.
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ ΡΡΠ΅Π΄ΡΡΠ²Π° Π΄Π»Ρ Π²Π΅ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΈΡΡΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΠΏΠΈΡΠ΅ΠΉ PKCS#7 Π² BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ°Ρ .
- Π /dev/random Π²ΠΎΠ·Π²ΡΠ°ΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΡΠΊΡΡΡΠΈΡ Π² Π½Π΅Π±Π»ΠΎΠΊΠΈΡΡΡΡΠ΅ΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ (O_NONBLOCK), ΠΊΠΎΡΠΎΡΠ°Ρ Π±ΡΠ»Π° ΠΏΠΎ Π½Π΅Π΄ΠΎΡΠΌΠΎΡΡΡ ΡΠ΄Π°Π»Π΅Π½Π° Π² ΡΠ΄ΡΠ΅ 5.6.
- ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠ°Ρ Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠΎΠΉ x86 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π²ΡΠ²ΠΎΠ΄ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ° ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π΄ΠΎΠΏΡΡΠΊΠ°ΡΡΠΈΠΌΠΈ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΈ Π·Π°ΠΏΠΈΡΡ. Π Π΄Π°Π»ΡΠ½Π΅ΠΉΡΠ΅ΠΌ ΡΠ°ΡΡΠΌΠ°ΡΡΠΈΠ²Π°Π΅ΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π·Π°ΠΏΡΠ΅ΡΠΈΡΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠΉ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³ ΠΏΠ°ΠΌΡΡΠΈ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΎΡΠ»Π°Π΄ΠΎΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ KMSAN (Kernel Memory Sanitizer) Π΄Π»Ρ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠ΄ΡΠ΅, Π° ΡΠ°ΠΊΠΆΠ΅ ΡΡΠ΅ΡΠ΅ΠΊ Π½Π΅ΠΈΠ½ΠΈΡΠΈΠ°Π»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΈ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌΠΈ.
- ΠΠ½Π΅ΡΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ Π² ΠΊΡΠΈΠΏΡΠΎΠ½Π°Π΄ΡΠΆΠ½ΡΠΉ Π³Π΅Π½Π΅ΡΠ°ΡΠΎΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠΈΡΠ΅Π» CRNG, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² Π²ΡΠ·ΠΎΠ²Π΅ getrandom. ΠΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½Ρ ΠΠΆΠ΅ΠΉΡΠΎΠ½ΠΎΠΌ ΠΠΎΠ½Π΅Π½ΡΠΈΠ»Π΄ΠΎΠΌ (Jason A. Donenfeld), Π°Π²ΡΠΎΡΠΎΠΌ VPN WireGuard ΠΈ Π½Π°ΡΠ΅Π»Π΅Π½Ρ Π½Π° ΠΏΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠ΅Π²Π΄ΠΎΡΠ»ΡΡΠ°ΠΉΠ½ΡΡ ΡΠ΅Π»ΡΡ ΡΠΈΡΠ΅Π».
- Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- Π TCP-ΡΡΠ΅ΠΊΠ΅ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ (ΠΎΡΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ) ΡΠ°Π·Π΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡ ΡΠΎΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΈΠΌΡΠ½, ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠΎΠ²ΡΡΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΡΠΈΡΡΠ΅ΠΌ Ρ Π±ΠΎΠ»ΡΡΠΈΠΌ ΡΠΈΡΠ»ΠΎΠΌ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½.
- Π£Π΄Π°Π»ΡΠ½ ΠΊΠΎΠ΄ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° DECnet. ΠΠ»Ρ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΎΡΡΠ°Π²Π»Π΅Π½Ρ Π·Π°Π³Π»ΡΡΠΊΠΈ API, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ DECnet, Π½ΠΎ Π΄Π°Π½Π½ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π½Π΅ ΡΠΌΠΎΠ³ΡΡ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡΡΡ ΠΊ ΡΠ΅ΡΠΈ.
- ΠΠΎΠΊΡΠΌΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½ ΠΏΡΠΎΡΠΎΠΊΠΎΠ» netlink.
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΎΠ±ΡΠΎΡΠ° DSC (Display Stream Compression) Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π΄Π°Π½Π½ΡΡ Π±Π΅Π· ΠΏΠΎΡΠ΅ΡΡ ΠΏΡΠΈ ΠΎΠ±ΠΌΠ΅Π½Π΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠ΅ΠΉ Ρ ΡΠΊΡΠ°Π½Π°ΠΌΠΈ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΌΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅. ΠΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΡΠ°Π±ΠΎΡΠ° ΠΏΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΠΏΠ»Π°ΡΡΠΎΡΠΌ AMD RDNA3 (RX 7000) ΠΈ CDNA (Instinct). ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IP-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² DCN 3.2, SMU 13.x, NBIO 7.7, GC 11.x, PSP 13.x, SDMA 6.x ΠΈ GMC 11.x. Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ amdkfd (Π΄Π»Ρ Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ GPU AMD, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ Polaris) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GFX 11.0.3.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ i915 (Intel) Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU Meteor Lake. ΠΠ»Ρ Meteor Lake ΠΈ Π±ΠΎΠ»Π΅Π΅ Π½ΠΎΠ²ΡΡ GPU ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° DP 2.0 (DisplayPort). ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΡ Π΄Π»Ρ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Π½Π° Π±Π°Π·Π΅ ΠΌΠΈΠΊΡΠΎΠ°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Alder Lake S.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π²ΡΠΊΠΎΠ²ΡΡ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌ, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΡ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Apple Silicon, Intel SkyLake ΠΈ Intel KabyLake. Π Π·Π²ΡΠΊΠΎΠ²ΠΎΠΌ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ CS35L41 HDA ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π² ΡΠΏΡΡΠΈΠΉ ΡΠ΅ΠΆΠΈΠΌ. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ASoC (ALSA System on Chip) Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² Apple Silicon, AMD Rembrant DSPs, AMD Pink Sardine ACP 6.2, Everest ES8326, Intel Sky Lake ΠΈ Kaby Lake, Mediatek MT8186, NXP i.MX8ULP DSPs, Qualcomm SC8280XP, SM8250, SM8450 ΠΈ Texas Instruments SRC4392
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° LCD-ΠΏΠ°Π½Π΅Π»Π΅ΠΉ Samsung LTL101AL01, B120XAN01.0, R140NWF5 RH, Densitron DMT028VGHMCMI-1A TFT, AUO B133UAN02.1, IVO M133NW4J-R3, Innolux N120ACA-EA1, AUO B116XAK01.6, BOE NT116WHM-N21, INX N116BCA-EA2, INX N116BCN-EA1, Multi-Inno Technology MI0800FT-9.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° AHCI SATA-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ², ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΡ Π² SoC Baikal-T1.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Bluetooth-ΡΠΈΠΏΠΎΠ² MediaTek MT7921, Intel Magnetor (CNVi, Integrated Connectivity), Realtek RTL8852C, RTW8852AE ΠΈ RTL8761BUV (Edimax BT-8500).
- Π Π΄ΡΠ°ΠΉΠ²Π΅Ρ ath11k Π΄Π»Ρ Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ Qualcomm Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΏΠ΅ΠΊΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΊΠ°Π½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 160 MHz, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΡΠΉ NAPI, ΡΠ»ΡΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Wi-Fi ΡΠΈΠΏΠΎΠ² Qualcomm WCN6750.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π΄Π»Ρ ΠΊΠ»Π°Π²ΠΈΠ°ΡΡΡΡ ΠΊ PinePhone, ΡΠ°ΡΠΏΠ°Π΄ΠΎΠ² InterTouch (ThinkPad P1 G3), X-Box Adaptive Controller, PhoenixRC Flight Controller, VRC-2 Car Controller, DualSense Edge Controller, ΡΠΏΡΠ°Π²Π»ΡΡΡΠΈΡ ΠΏΠ°Π½Π΅Π»Π΅ΠΉ IBM (IBM Operation Panel), ΠΏΡΠ»ΡΡΠΎΠ² XBOX One Elite, ΠΏΠ»Π°Π½ΡΠ΅ΡΠΎΠ² XP-PEN Deco Pro S ΠΈ Intuos Pro Small (PTH-460).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΠΊΡΠΈΠΏΡΠΎΠ³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ Aspeed HACE (Hash and Crypto Engine).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ Thunderbolt/USB4 ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Intel Meteor Lake.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² Sony Xperia 1 IV, Samsung Galaxy E5, E7 ΠΈ Grand Max, Pine64 Pinephone Pro.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARM SoC ΠΈ ΠΏΠ»Π°Ρ: AMD DaytonaX, Mediatek MT8186, Rockchips RK3399 ΠΈ RK3566, TI AM62A, NXP i.MX8DXL, Renesas R-Car H3Ne-1.7G, Qualcomm IPQ8064-v2.0, IPQ8062, IPQ8065, Kontron SL/BL i.MX8MM OSM-S, MT8195 (Acer Tomato), Radxa ROCK 4C+, NanoPi R4S Enterprise Edition, JetHome JetHub D1p. ΠΠ±Π½ΠΎΠ²Π»Π΅Π½Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π΄Π»Ρ SoC Samsung, Mediatek, Renesas, Tegra, Qualcomm, Broadcom ΠΈ NXP.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π€ΠΎΠ½Π΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π» Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° 6.1 — Linux-libre 6.1-gnu, ΠΎΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
Π½Π΅ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ. Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° Π½ΠΎΠ²ΠΎΠ³ΠΎ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° rtw8852b ΠΈ DTS-ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ
SoC Qualcomm ΠΈ MediaTek Ρ ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°ΠΌΠΈ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ AArch64. ΠΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΊΠΎΠ΄ ΡΠΈΡΡΠΊΠΈ Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
amdgpu, i915, brcmfmac, r8188eu, rtw8852c, Intel ACPI. ΠΡΠΊΠΎΡΡΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½Π° ΡΠΈΡΡΠΊΠ° ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² tm6000 TV cards, cpia2 v4l, sp8870, av7110.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru