ΠΠΎΡΠ»Π΅ Π΄Π²ΡΡ ΠΌΠ΅ΡΡΡΠ΅Π² ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΠΈΠ½ΡΡ Π’ΠΎΡΠ²Π°Π»ΡΠ΄Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΠΈΠ» ΡΠ΅Π»ΠΈΠ· ΡΠ΄ΡΠ° Linux 6.2. Π‘ΡΠ΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅ΡΠ½ΡΡ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: ΡΠ°Π·ΡΠ΅ΡΡΠ½ ΠΏΡΠΈΡΠΌ ΠΊΠΎΠ΄Π° ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Copyleft-Next, ΡΠ»ΡΡΡΠ΅Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ RAID5/6 Π² Btrfs, ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ ΡΠ·ΡΠΊΠ° Rust, ΡΠ½ΠΈΠΆΠ΅Π½Ρ Π½Π°ΠΊΠ»Π°Π΄Π½ΡΠ΅ ΡΠ°ΡΡ ΠΎΠ΄Ρ ΠΏΡΠΈ Π·Π°ΡΠΈΡΠ΅ ΠΎΡ Π°ΡΠ°ΠΊ Retbleed, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ ΠΏΡΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ, Π΄Π»Ρ TCP Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ PLB (Protective Load Balancing), Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ (FineIBT), Π² BPF ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , Π² ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° rv (Runtime Verification), ΡΠ½ΠΈΠΆΠ΅Π½ΠΎ ΡΠ½Π΅ΡΠ³ΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ RCU.
Π Π½ΠΎΠ²ΡΡ Π²Π΅ΡΡΠΈΡ ΠΏΡΠΈΠ½ΡΡΠΎ 16843 ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΉ ΠΎΡ 2178 ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ², ΡΠ°Π·ΠΌΠ΅Ρ ΠΏΠ°ΡΡΠ° — 62 ΠΠ (ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ Π·Π°ΡΡΠΎΠ½ΡΠ»ΠΈ 14108 ΡΠ°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 730195 ΡΡΡΠΎΠΊ ΠΊΠΎΠ΄Π°, ΡΠ΄Π°Π»Π΅Π½ΠΎ 409485 ΡΡΡΠΎΠΊ). ΠΠΊΠΎΠ»ΠΎ 42% Π²ΡΠ΅Ρ ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π»Π΅Π½Π½ΡΡ Π² 6.2 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΡΠ²ΡΠ·Π°Π½Ρ Ρ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°ΠΌΠΈ ΡΡΡΡΠΎΠΉΡΡΠ², ΠΏΡΠΈΠΌΠ΅ΡΠ½ΠΎ 16% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡΡ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΠ΅ ΠΊ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΊΠΎΠ΄Π°, ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΎΠ³ΠΎ Π΄Π»Ρ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ, 12% ΡΠ²ΡΠ·Π°Π½ΠΎ Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌ ΡΡΠ΅ΠΊΠΎΠΌ, 4% — Ρ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠΌΠΈ ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΠΈ 3% c Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°.
ΠΡΠ½ΠΎΠ²Π½ΡΠ΅ Π½ΠΎΠ²ΡΠ΅ΡΡΠ²Π° Π² ΡΠ΄ΡΠ΅ 6.2:
- ΠΠ°ΠΌΡΡΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ ΡΠ΅ΡΠ²ΠΈΡΡ
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Copyleft-Next 0.3.1. ΠΠΈΡΠ΅Π½Π·ΠΈΡ Copyleft-Next ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ² GPLv3 ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv2, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ SUSE ΠΈ Red Hat. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ GPLv2 Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Copyleft-Next Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ (ΡΠ±ΡΠ°Π½Π° Π²Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°ΡΡΡ ΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠ²), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΠ»Π΅ΡΡ-ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ³Π΄Π°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΠΎΠ»Π΅Π΅ 15 Π»Π΅Ρ.
Copyleft-Next ΡΠ°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ ΠΏΡΠ½ΠΊΡ ΠΎ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΏΡΠ°Π² Π½Π° Π·Π°ΠΏΠ°ΡΠ΅Π½ΡΠΎΠ²Π°Π½Π½ΡΠ΅ ΡΠ΅Ρ Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ, ΡΡΠΎ, Π² ΠΎΡΠ»ΠΈΡΠΈΠ΅ ΠΎΡ GPLv2, Π΄Π΅Π»Π°Π΅Ρ Π΄Π°Π½Π½ΡΡ Π»ΠΈΡΠ΅Π½Π·ΠΈΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Apache 2.0. ΠΠ»Ρ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΠΎΠ»Π½ΠΎΠΉ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΡΡΠΈ Ρ GPLv2 Π² ΡΠ΅ΠΊΡΡΠ΅ Copyleft-Next ΡΠ²Π½ΠΎ ΡΠΊΠ°Π·Π°Π½ΠΎ, ΡΡΠΎ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°Π±ΠΎΡΠ° ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Copyleft-Next, Π½ΠΎ ΠΈ ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPL.
- Π ΡΠΎΡΡΠ°Π² Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΡΡΠΈΠ»ΠΈΡΠ° «rv», ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠ°Ρ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠ°ΠΌΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ RV (Runtime Verification), ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΠΎΠΉ Π΄Π»Ρ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π½Π° Π²ΡΡΠΎΠΊΠΎΠ½Π°Π΄Π΅ΠΆΠ½ΡΡ ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΡ ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΡΠ±ΠΎΠ΅Π². ΠΡΠΎΠ²Π΅ΡΠΊΠ° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΡΠ΅ΡΠ΅Π· ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΡΠΎΡΠΊΠ°ΠΌ ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΡΠ²Π΅ΡΡΡΡΠΈΡ ΡΠ°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΠΉ Ρ ΠΎΠ΄ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Ρ Π·Π°ΡΠ°Π½Π΅Π΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠΉ ΡΡΠ°Π»ΠΎΠ½Π½ΠΎΠΉ Π΄Π΅ΡΠ΅ΡΠΌΠΈΠ½ΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠ°, ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡΡΠ΅ΠΉ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΠΎΠ΅ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ.
- Π ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ zRAM, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅ΠΌ Ρ ΡΠ°Π½ΠΈΡΡ ΡΠ°Π·Π΄Π΅Π» ΠΏΠΎΠ΄ΠΊΠ°ΡΠΊΠΈ Π² ΠΏΠ°ΠΌΡΡΠΈ Π² ΡΠΆΠ°ΡΠΎΠΌ Π²ΠΈΠ΄Π΅ (Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΎΠ·Π΄Π°Π΅ΡΡΡ Π±Π»ΠΎΡΠ½ΠΎΠ΅ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π½Π° ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΡΠ²ΠΎΠΏΠΏΠΈΠ½Π³ ΡΠΎ ΡΠΆΠ°ΡΠΈΠ΅ΠΌ), ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΡΡΡΠ°Π½ΠΈΡ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π°Π»ΡΡΠ΅ΡΠ½Π°ΡΠΈΠ²Π½ΠΎΠ³ΠΎ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠ³ΠΎ ΡΡΠΎΠ²Π½Ρ ΡΠΆΠ°ΡΠΈΡ. ΠΡΠ½ΠΎΠ²Π½Π°Ρ ΠΈΠ΄Π΅Ρ Π² ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π²ΡΠ±ΠΎΡΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°ΠΌΠΈ (lzo, lzo-rle, lz4, lz4hc, zstd), ΠΏΡΠ΅Π΄Π»Π°Π³Π°ΡΡΠΈΠΌΠΈ ΡΠ²ΠΎΠΈ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΡ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΊΠΎΡΠΎΡΡΡΡ ΡΠΆΠ°ΡΠΈΡ/ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ ΠΈ ΡΡΠΎΠ²Π½Π΅ΠΌ ΡΠΆΠ°ΡΠΈΡ ΠΈΠ»ΠΈ ΠΎΠΏΡΠΈΠΌΠ°Π»ΡΠ½ΡΠΌΠΈ Π² ΠΎΡΠΎΠ±ΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΄Π»Ρ ΡΠΆΠ°ΡΠΈΡ Π±ΠΎΠ»ΡΡΠΈΡ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ API «iommufd» Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΈΠ· ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠΎΠΉ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΡΡ Π²Π²ΠΎΠ΄Π°-Π²ΡΠ²ΠΎΠ΄Π° — IOMMU (I/O Memory-Management Unit). ΠΠΎΠ²ΡΠΉ API Π΄Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΡΡΠ°Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ Π²Π²ΠΎΠ΄Π°/Π²ΡΠ²ΠΎΠ΄Π°, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡΡ.
- Π BPF ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΈΠΏΠΎΠ², ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ², ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΠ²ΠΎΠ΅ΠΉ ΠΈΠ΅ΡΠ°ΡΡ ΠΈΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² ΠΈ Π³ΠΈΠ±ΠΊΠΎΠ³ΠΎ ΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΡ ΡΡΡΡΠΊΡΡΡ Π΄Π°Π½Π½ΡΡ , ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠ²ΡΠ·Π°Π½Π½ΡΠ΅ ΡΠΏΠΈΡΠΊΠΈ. ΠΠ»Ρ ΠΏΡΠ΅Ρ ΠΎΠ΄ΡΡΠΈΡ Π² ΡΠ΅ΠΆΠΈΠΌ ΡΠ½Π° BPF-ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ (BPF_F_SLEEPABLE) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ bpf_rcu_read_{,un}lock(). Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² task_struct. ΠΠΎΠ±Π°Π²Π»Π΅Π½ map-ΡΠΈΠΏ BPF_MAP_TYPE_CGRP_STORAGE, ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡΠΈΠΉ Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠ΅ Ρ ΡΠ°Π½ΠΈΠ»ΠΈΡΠ΅ Π΄Π»Ρ cgroups.
- ΠΠ»Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ RCU (Read-copy-update) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ «Π»Π΅Π½ΠΈΠ²ΡΡ » callback-Π²ΡΠ·ΠΎΠ²ΠΎΠ², Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΠΏΠΎ ΡΠ°ΠΉΠΌΠ΅ΡΡ Π² ΠΏΠ°ΠΊΠ΅ΡΠ½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΡΠ°Π·ΠΎΠΌ ΠΎΠ±ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΡΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ callback-Π²ΡΠ·ΠΎΠ²ΠΎΠ². ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π½Π° 5-10% ΡΠ½ΠΈΠ·ΠΈΡΡ ΡΠ½Π΅Π³ΡΠΎΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²Π°Ρ Android ΠΈ ChromeOS Π·Π° ΡΡΡΡ ΠΎΡΠΊΠ»Π°Π΄ΡΠ²Π°Π½ΠΈΡ RCU-Π·Π°ΠΏΡΠΎΡΠΎΠ² Π²ΠΎ Π²ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΡΠΎΡ ΠΈΠ»ΠΈ Π½ΠΈΠ·ΠΊΠΎΠΉ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΡΠΈΡΡΠ΅ΠΌΡ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ sysctl split_lock_mitigate Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ΅Π°ΠΊΡΠΈΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΡ ΠΏΡΠΈ Π²ΡΡΠ²Π»Π΅Π½ΠΈΠΈ ΡΠ°ΡΡΠ΅ΠΏΠ»ΡΠ½Π½ΡΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ («split lock»), Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΡ ΠΏΡΠΈ Π΄ΠΎΡΡΡΠΏΠ΅ ΠΊ Π½Π΅Π²ΡΡΠΎΠ²Π½Π΅Π½Π½ΡΠΌ Π΄Π°Π½Π½ΡΠΌ Π² ΠΏΠ°ΠΌΡΡΠΈ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΠΏΡΠΈ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΏΠ΅ΡΠ΅ΡΠ΅ΠΊΠ°ΡΡ Π΄Π²Π΅ Π»ΠΈΠ½ΠΈΠΈ ΠΊΠ΅ΡΠ° CPU. ΠΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠΈ ΠΏΡΠΈΠ²ΠΎΠ΄ΡΡ ΠΊ Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎΠΌΡ ΠΏΠ°Π΄Π΅Π½ΠΈΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ. ΠΡΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π² split_lock_mitigate Π·Π½Π°ΡΠ΅Π½ΠΈΡ 0 Π²ΡΠ²ΠΎΠ΄ΠΈΡΡΡ Π»ΠΈΡΡ ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, Π° ΠΏΡΠΈ Π²ΡΡΡΠ°Π²Π»Π΅Π½ΠΈΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡ 1 ΠΏΠΎΠΌΠΈΠΌΠΎ Π²ΡΠ²ΠΎΠ΄Π° ΠΏΡΠ΅Π΄ΡΠΏΡΠ΅ΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ°, Π²ΡΠ·Π²Π°Π²ΡΠ΅Π³ΠΎ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΡ, ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΡ.
- ΠΠ»Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ PowerPC ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π° Π½ΠΎΠ²Π°Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΎΠΊ qspinlock, Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΡΡΠ°Ρ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΡΡ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΈ ΡΠ΅ΡΠ°ΡΡΠ°Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²ΠΊΠ°ΠΌΠΈ, Π²ΠΎΠ·Π½ΠΈΠΊΠ°ΡΡΠΈΠ΅ Π² ΠΈΡΠΊΠ»ΡΡΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»ΡΡΠ°ΡΡ .
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½ ΠΊΠΎΠ΄ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΠΉ MSI (Message-Signaled Interrupts), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π½Π°ΠΊΠΎΠΏΠΈΠ²ΡΠΈΠ΅ΡΡ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² ΠΊ ΡΠ°Π·Π½ΡΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ.
- ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Π½Π°Π±ΠΎΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄ LoongArch, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π² ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Loongson 3 5000 ΠΈ ΡΠ΅Π°Π»ΠΈΠ·ΡΡΡΠ΅ΠΉ Π½ΠΎΠ²ΡΠΉ RISC ISA, ΠΏΠΎΡ ΠΎΠΆΠΈΠΉ Π½Π° MIPS ΠΈ RISC-V, ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ftrace, Π·Π°ΡΠΈΡΡ ΡΡΠ΅ΠΊΠ°, ΡΠΏΡΡΠ΅Π³ΠΎ ΠΈ ΠΆΠ΄ΡΡΠ΅Π³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠΎΠ².
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΡΠΈΡΠ²ΠΎΠ΅Π½ΠΈΡ ΠΈΠΌΡΠ½ ΠΎΠ±Π»Π°ΡΡΡΠΌ ΡΠ°Π·Π΄Π΅Π»ΡΠ΅ΠΌΠΎΠΉ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ (ΡΠ°Π½Π΅Π΅ ΠΈΠΌΠ΅Π½Π° ΠΌΠΎΠ³Π»ΠΈ Π½Π°Π·Π½Π°ΡΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΏΡΠΈΠ²Π°ΡΠ½ΠΎΠΉ Π°Π½ΠΎΠ½ΠΈΠΌΠ½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ, Π·Π°ΠΊΡΠ΅ΠΏΠ»ΡΠ½Π½ΠΎΠΉ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΡΠΌ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠΌ).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΄ΡΠ° «trace_trigger», ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π½ΡΠΉ Π΄Π»Ρ Π°ΠΊΡΠΈΠ²Π°ΡΠΈΠΈ ΡΡΠΈΠ³Π³Π΅ΡΠ° ΡΡΠ°ΡΡΠΈΡΠΎΠ²ΠΊΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΡΠΈΠ²ΡΠ·ΠΊΠΈ ΡΡΠ»ΠΎΠ²Π½ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄, Π²ΡΠ·ΡΠ²Π°Π΅ΠΌΡΡ ΠΏΡΠΈ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½ΠΎΠΉ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, trace_trigger=»sched_switch.stacktrace if prev_state == 2″).
- ΠΠΎΠ²ΡΡΠ΅Π½Ρ ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ ΠΊ Π²Π΅ΡΡΠΈΠΈ ΠΏΠ°ΠΊΠ΅ΡΠ° binutils. ΠΠ»Ρ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΄ΡΠ° ΡΠ΅ΠΏΠ΅ΡΡ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΠΊΠ°ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡΠΌ binutils 2.25.
- ΠΡΠΈ Π²ΡΠ·ΠΎΠ²Π΅ exec() Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΡΠ΅ΡΡΠ° Π² ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²ΠΎ ΠΈΠΌΡΠ½ Π²ΡΠ΅ΠΌΠ΅Π½ΠΈ (time namespace), Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π²ΡΠ΅ΠΌΡ ΠΎΡΠ»ΠΈΡΠ°Π΅ΡΡΡ ΠΎΡ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΠ³ΠΎ.
- ΠΠ°ΡΠ°Π»ΡΡ ΠΏΠ΅ΡΠ΅Π½ΠΎΡ ΠΈΠ· Π²Π΅ΡΠΊΠΈ Rust-for-Linux Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΠΈ, ΡΠ²ΡΠ·Π°Π½Π½ΠΎΠΉ Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ·ΡΠΊΠ° Rust Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ Π²ΡΠΎΡΠΎΠ³ΠΎ ΡΠ·ΡΠΊΠ° Π΄Π»Ρ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ² ΠΈ ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ ΡΠ΄ΡΠ°. ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Rust Π½Π΅Π°ΠΊΡΠΈΠ²Π½Π° ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΈ Π½Π΅ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡ ΠΊ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Rust Π² ΡΠΈΡΠ»ΠΎ ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ±ΠΎΡΠΎΡΠ½ΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ ΠΊ ΡΠ΄ΡΡ. ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π² ΠΏΡΠΎΡΠ»ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ Π±Π°Π·ΠΎΠ²Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΡΠ°ΡΡΠΈΡΠ΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ Π΄Π»Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈ Π½ΠΈΠ·ΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π°, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ ΡΠΈΠΏ Vec ΠΈ ΠΌΠ°ΠΊΡΠΎΡΡ pr_debug!(), pr_cont!() ΠΈ pr_alert!(), Π° ΡΠ°ΠΊΠΆΠ΅ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠ½ΡΠΉ ΠΌΠ°ΠΊΡΠΎΡ «#[vtable]», ΡΠΏΡΠΎΡΠ°ΡΡΠΈΠΉ ΡΠ°Π±ΠΎΡΡ Ρ ΡΠ°Π±Π»ΠΈΡΠ°ΠΌΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠ±Π°Π²Π»Π΅Π½ΠΈΠ΅ Π²ΡΡΠΎΠΊΠΎΡΡΠΎΠ²Π½Π΅Π²ΡΡ Rust-ΠΎΠ±Π²ΡΠ·ΠΎΠΊ Π½Π°Π΄ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°ΠΌΠΈ ΡΠ΄ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΡΠ΅ Π΄ΡΠ°ΠΉΠ²Π΅ΡΡ Π½Π° Rust, ΠΎΠΆΠΈΠ΄Π°Π΅ΡΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠΈΡ Π²ΡΠΏΡΡΠΊΠ°Ρ .
- ΠΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ Π² ΡΠ΄ΡΠ΅ ΡΠΈΠΏ «char» ΡΠ΅ΠΏΠ΅ΡΡ Π΄Π»Ρ Π²ΡΠ΅Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΠΊΠ°ΠΊ Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΡΠΉ.
- ΠΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°ΡΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΡ ΠΏΠ°ΠΌΡΡΠΈ slab — SLOB (slab allocator), ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΡΠΏΡΠΎΠ΅ΠΊΡΠΈΡΠΎΠ²Π°Π½ Π΄Π»Ρ ΡΠΈΡΡΠ΅ΠΌΠ° Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠΌΠ΅ΡΡΠΎ SLOB Π² ΠΎΠ±ΡΡΠ½ΡΡ ΡΡΠ»ΠΎΠ²ΠΈΡΡ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ SLUB ΠΈΠ»ΠΈ SLAB. ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ Ρ Π½Π΅Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΎΠ±ΡΡΠΌΠΎΠΌ ΠΏΠ°ΠΌΡΡΠΈ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ SLUB Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ SLUB_TINY.
- Π Π°Π·ΡΠ΅ΡΠ΅Π½ΠΎ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ Π² ΡΠΎΡΡΠ°Π² ΡΠ΄ΡΠ° ΠΊΠΎΠ΄Π° ΠΈ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ, ΠΏΠΎΡΡΠ°Π²Π»ΡΠ΅ΠΌΡΡ
ΠΏΠΎΠ΄ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ Copyleft-Next 0.3.1. ΠΠΈΡΠ΅Π½Π·ΠΈΡ Copyleft-Next ΡΠΎΠ·Π΄Π°Π½Π° ΠΎΠ΄Π½ΠΈΠΌ ΠΈΠ· Π°Π²ΡΠΎΡΠΎΠ² GPLv3 ΠΈ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠΎΠ²ΠΌΠ΅ΡΡΠΈΠΌΠΎΠΉ Ρ Π»ΠΈΡΠ΅Π½Π·ΠΈΠ΅ΠΉ GPLv2, ΡΡΠΎ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΆΠ΄Π΅Π½ΠΎ ΡΡΠΈΡΡΠ°ΠΌΠΈ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠΉ SUSE ΠΈ Red Hat. ΠΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ GPLv2 Π»ΠΈΡΠ΅Π½Π·ΠΈΡ Copyleft-Next Π·Π½Π°ΡΠΈΡΠ΅Π»ΡΠ½ΠΎ ΠΊΠΎΠΌΠΏΠ°ΠΊΡΠ½Π΅Π΅ ΠΈ ΠΏΡΠΎΡΠ΅ Π΄Π»Ρ ΠΏΠΎΠ½ΠΈΠΌΠ°Π½ΠΈΡ (ΡΠ±ΡΠ°Π½Π° Π²Π²ΠΎΠ΄Π½Π°Ρ ΡΠ°ΡΡΡ ΠΈ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ
ΠΊΠΎΠΌΠΏΡΠΎΠΌΠΈΡΡΠΎΠ²), ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅Ρ ΡΡΠΎΠΊΠΈ ΠΈ ΠΏΠΎΡΡΠ΄ΠΎΠΊ ΡΡΡΡΠ°Π½Π΅Π½ΠΈΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΠΉ, Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠ½ΠΈΠΌΠ°Π΅Ρ ΠΊΠΎΠΏΠΈΠ»Π΅ΡΡ-ΡΡΠ΅Π±ΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ ΡΡΡΠ°ΡΠ΅Π²ΡΠ΅Π³ΠΎ ΠΊΠΎΠ³Π΄Π°, ΠΊΠΎΡΠΎΡΠΎΠΌΡ Π±ΠΎΠ»Π΅Π΅ 15 Π»Π΅Ρ.
- ΠΠΈΡΠΊΠΎΠ²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°, Π²Π²ΠΎΠ΄/Π²ΡΠ²ΠΎΠ΄ ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ
- Π Btrfs Π²Π½Π΅ΡΠ΅Π½Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΡΠ΅ Π½Π° ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ «write hole» Π² ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ RAID 5/6 (ΠΏΠΎΠΏΡΡΠΊΠ° Π²ΠΎΡΡΡΠ°Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ RAID, Π΅ΡΠ»ΠΈ ΠΊΡΠ°Ρ ΡΠ»ΡΡΠΈΠ»ΡΡ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ½ΡΡΡ ΠΊΠ°ΠΊΠΎΠΉ Π±Π»ΠΎΠΊ Π½Π° ΠΊΠ°ΠΊΠΎΠΌ ΠΈΠ· ΡΡΡΡΠΎΠΉΡΡΠ² RAID Π·Π°ΠΏΠΈΡΠ°Π»ΡΡ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ, ΡΡΠΎ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²Π΅ΡΡΠΈ ΠΊ ΡΠ°Π·ΡΡΡΠ΅Π½ΠΈΡ Π±Π»ΠΎΠΊΠΎΠ², ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΡ Π½Π΅Π΄ΠΎΠ·Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΌ Π±Π»ΠΎΠΊΠ°ΠΌ). ΠΡΠΎΠΌΠ΅ ΡΠΎΠ³ΠΎ, Π΄Π»Ρ SSD ΡΠ΅ΠΏΠ΅ΡΡ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΡΠ΅ΡΡΡ ΠΏΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ «discard», ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π΅ Π΄ΠΎΠ±ΠΈΡΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π²ΡΡΠΎΠΊΠΎΠΉ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΠΈ ΠΈΠ·-Π·Π° ΡΡΡΠ΅ΠΊΡΠΈΠ²Π½ΠΎΠΉ Π³ΡΡΠΏΠΏΠΈΡΠΎΠ²ΠΊΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ «discard» Π² ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΠΈ ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ ΠΎΡΠ΅ΡΠ΅Π΄ΠΈ ΡΠΎΠ½ΠΎΠ²ΡΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠΌ. ΠΠΎΠ²ΡΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΡΡΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ send ΠΈ lseek, Π° ΡΠ°ΠΊΠΆΠ΅ ioctl FIEMAP.
- Π Π°ΡΡΠΈΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΡΡ (writeback, ΡΠΎΠ½ΠΎΠ²ΠΎΠ΅ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠ΅ ΠΈΠ·ΠΌΠ΅Π½ΡΠ½Π½ΡΡ Π΄Π°Π½Π½ΡΡ ) Π΄Π»Ρ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ². Π Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΡΠΈΡΡΠ°ΡΠΈΡΡ , Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΡΠ΅ΡΠ΅Π²ΡΡ Π±Π»ΠΎΡΠ½ΡΡ ΡΡΡΡΠΎΠΉΡΡΠ² ΠΈΠ»ΠΈ USB-Π½Π°ΠΊΠΎΠΏΠΈΡΠ΅Π»Π΅ΠΉ, ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½Π°Ρ Π·Π°ΠΏΠΈΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠ²ΠΎΠ΄ΠΈΡΡ ΠΊ Π±ΠΎΠ»ΡΡΠΎΠΌΡ ΠΏΠΎΡΡΠ΅Π±Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠ²Π½ΠΎΠΉ ΠΏΠ°ΠΌΡΡΠΈ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΏΡΠ°Π²Π»ΡΡΡ ΠΏΠΎΠ²Π΅Π΄Π΅Π½ΠΈΠ΅ΠΌ ΠΎΡΠ»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ ΠΈ Π΄Π΅ΡΠΆΠ°ΡΡ ΡΠ°Π·ΠΌΠ΅Ρ ΡΡΡΠ°Π½ΠΈΡΠ½ΠΎΠ³ΠΎ ΠΊΡΡΠ° Π² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΡΡ ΡΠ°ΠΌΠΊΠ°Ρ Π² sysfs (/sys/class/bdi/) ΠΏΡΠ΅Π»ΠΎΠΆΠ΅Π½Ρ Π½ΠΎΠ²ΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ strict_limit, min_bytes, max_bytes, min_ratio_fine ΠΈ max_ratio_fine.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ F2FS ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ioctl-ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ Π·Π°ΠΌΠ΅Π½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π·Π°ΠΏΠΈΡΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ°ΠΉΠ» Π² ΡΠ°ΠΌΠΊΠ°Ρ ΠΎΠ΄Π½ΠΎΠΉ Π°ΡΠΎΠΌΠ°ΡΠ½ΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ. Π F2FS ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π±Π»ΠΎΡΠ½ΡΠΉ ΠΊΡΡ ΡΠΊΡΡΠ΅Π½ΡΠΎΠ², ΠΏΠΎΠΌΠΎΠ³Π°ΡΡΠΈΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ Π°ΠΊΡΠΈΠ²Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π΄Π°Π½Π½ΡΠ΅ ΠΈΠ»ΠΈ Π΄Π°Π½Π½ΡΠ΅ ΠΊ ΠΊΠΎΡΠΎΡΡΠΌ Π΄Π°Π²Π½ΠΎ Π½Π΅ Π±ΡΠ»ΠΎ ΠΎΠ±ΡΠ°ΡΠ΅Π½ΠΈΠΉ.
- Π Π€Π‘ ext4 ΠΎΡΠΌΠ΅ΡΠ°Π΅ΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΎΡΠΈΠ±ΠΎΠΊ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ ntfs3 ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΎ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ Π½ΠΎΠ²ΡΡ ΠΎΠΏΡΠΈΠΉ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ: «nocase» Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΡΡΠΎΠΌ ΡΠ΅Π³ΠΈΡΡΡΠ° ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² ΠΈΠΌΠ΅Π½Π°Ρ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΠΉ; windows_name Π΄Π»Ρ Π·Π°ΠΏΡΠ΅ΡΠ° ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΠΈΠΌΡΠ½ ΡΠ°ΠΉΠ»ΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ ΡΠΈΠΌΠ²ΠΎΠ»Ρ, Π½Π΅Π΄ΠΎΠΏΡΡΡΠΈΠΌΡΠ΅ Π΄Π»Ρ ΠΠ‘ Windows; hide_dot_files Π΄Π»Ρ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π½Π°Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ ΠΌΠ΅ΡΠΊΠΈ ΡΠΊΡΡΡΡΡ ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π»Ρ ΡΠ°ΠΉΠ»ΠΎΠ², Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ ΡΡ Π½Π° ΡΠΎΡΠΊΡ.
- Π ΡΠ°ΠΉΠ»ΠΎΠ²ΠΎΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅ Squashfs ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΎΠΏΡΠΈΡ ΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ «threads=», ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ΠΊΠΎΡΠΎΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΡΠΈΡΠ»ΠΎ ΠΏΠΎΡΠΎΠΊΠΎΠ² Π΄Π»Ρ ΡΠ°ΡΠΏΠ°ΡΠ°Π»Π»Π΅Π»ΠΈΠ²Π°Π½ΠΈΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΠ°ΡΠΏΠ°ΠΊΠΎΠ²ΠΊΠΈ. Π Squashfs ΡΠ°ΠΊΠΆΠ΅ ΠΏΠΎΡΠ²ΠΈΠ»Π°ΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΌΠ°ΠΏΠΏΠΈΠ½Π³Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΎΡΠΎΠ² ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΉ ΠΏΡΠΈΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΡΡ ΡΠ°ΠΉΠ»ΠΎΠ²ΡΡ ΡΠΈΡΡΠ΅ΠΌ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΡΠΎΠΏΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ½Π½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π½Π° ΠΏΡΠΈΠΌΠΎΠ½ΡΠΈΡΠΎΠ²Π°Π½Π½ΠΎΠΌ ΡΡΠΆΠΎΠΌ ΡΠ°Π·Π΄Π΅Π»Π΅ Ρ Π΄ΡΡΠ³ΠΈΠΌ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Π΅ΠΌ Π² ΡΠ΅ΠΊΡΡΠ΅ΠΉ ΡΠΈΡΡΠ΅ΠΌΠ΅.
- ΠΠ΅ΡΠ΅ΡΠ°Π±ΠΎΡΠ°Π½Π° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ ΡΠΏΠΈΡΠΊΠΎΠ² ΠΊΠΎΠ½ΡΡΠΎΠ»Ρ Π΄ΠΎΡΡΡΠΏΠ° POSIX (POSIX ACL). Π Π½ΠΎΠ²ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΡΡΡΠ°Π½Π΅Π½Ρ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΠ½ΡΠ΅ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ, ΡΠΏΡΠΎΡΠ΅Π½ΠΎ ΡΠΎΠΏΡΠΎΠ²ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΠΊΠΎΠ΄ΠΎΠ²ΠΎΠΉ Π±Π°Π·Ρ ΠΈ Π·Π°Π΄Π΅ΠΉΡΡΠ²ΠΎΠ²Π°Π½Ρ Π±ΠΎΠ»Π΅Π΅ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΡΠ΅ ΡΠΈΠΏΡ Π΄Π°Π½Π½ΡΡ .
- Π ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΡ fscrypt, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΏΡΠΎΠ·ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠΈΡΡΠΎΠ²Π°Π½ΠΈΡ SM4 (ΠΊΠΈΡΠ°ΠΉΡΠΊΠΈΠΉ ΡΡΠ°Π½Π΄Π°ΡΡ GB/T 32907-2016).
- ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ±ΠΎΡΠΊΠΈ ΡΠ΄ΡΠ° Π±Π΅Π· ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ NFSv2 (Π² Π±ΡΠ΄ΡΡΠ΅ΠΌ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΡ NFSv2 ΠΏΠ»Π°Π½ΠΈΡΡΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΠΏΡΠ΅ΠΊΡΠ°ΡΠΈΡΡ).
- ΠΠ·ΠΌΠ΅Π½Π΅Π½Π° ΠΎΡΠ³Π°Π½ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠΈ ΠΏΡΠ°Π² Π΄ΠΎΡΡΡΠΏΠ° ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²Π°ΠΌ NVMe. ΠΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΡΠ΅Π½ΠΈΡ ΠΈ Π·Π°ΠΏΠΈΡΠΈ Π½Π° ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ NVMe, Π΅ΡΠ»ΠΈ Π·Π°ΠΏΠΈΡΡΠ²Π°ΡΡΠΈΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ Π΄ΠΎΡΡΡΠΏ ΠΊ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎΠΌΡ ΡΠ°ΠΉΠ»Ρ ΡΡΡΡΠΎΠΉΡΡΠ²Π° (ΡΠ°Π½Π΅Π΅ ΠΏΡΠΎΡΠ΅ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±ΡΠ» ΠΈΠΌΠ΅ΡΡ ΠΏΠΎΠ»Π½ΠΎΠΌΠΎΡΠΈΠ΅ CAP_SYS_ADMIN).
- Π£Π΄Π°Π»ΡΠ½ ΠΏΠ°ΠΊΠ΅ΡΠ½ΡΠΉ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ CD/DVD, ΠΊΠΎΡΠΎΡΡΠΉ Π±ΡΠ» ΠΎΠ±ΡΡΠ²Π»Π΅Π½ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠΌ Π² 2016 Π³ΠΎΠ΄Ρ.
- ΠΠΈΡΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ
- Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ Retbleed Π² CPU Intel ΠΈ AMD, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ ΠΎΡΡΠ»Π΅ΠΆΠΈΠ²Π°Π½ΠΈΠ΅ Π³Π»ΡΠ±ΠΈΠ½Ρ Π²ΡΠ·ΠΎΠ²ΠΎΠ², ΡΡΠΎ Π½Π΅ Π½Π°ΡΡΠΎΠ»ΡΠΊΠΎ Π·Π°ΠΌΠ΅Π΄Π»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΡ ΠΊΠ°ΠΊ ΡΠ°Π½Π΅Π΅ ΠΏΡΠΈΡΡΡΡΡΠ²ΡΡΡΠ°Ρ Π·Π°ΡΠΈΡΠ° ΠΎΡ Retbleed. ΠΠ»Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π½ΠΎΠ²ΠΎΠ³ΠΎ ΡΠ΅ΠΆΠΈΠΌΠ° ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ ΡΠ΄ΡΠ° «retbleed=stuff».
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π³ΠΈΠ±ΡΠΈΠ΄Π½ΡΠΉ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Π·Π°ΡΠΈΡΡ ΠΏΠΎΡΠΎΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ ΠΊΠΎΠΌΠ°Π½Π΄ FineIBT, ΡΠΎΡΠ΅ΡΠ°ΡΡΠΈΠΉ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΡΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Intel IBT (Indirect Branch Tracking) ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ Π·Π°ΡΠΈΡΡ kCFI (kernel Control Flow Integrity) Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π½Π°ΡΡΡΠ΅Π½ΠΈΡ Π½ΠΎΡΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΡΡΠ΄ΠΊΠ° Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ (control flow) Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠΊΡΠΏΠ»ΠΎΠΈΡΠΎΠ², ΠΈΠ·ΠΌΠ΅Π½ΡΡΡΠΈΡ Ρ ΡΠ°Π½ΠΈΠΌΡΠ΅ Π² ΠΏΠ°ΠΌΡΡΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»ΠΈ Π½Π° ΡΡΠ½ΠΊΡΠΈΠΈ. FineIBT ΡΠ°Π·ΡΠ΅ΡΠ°Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΏΠΎ ΠΊΠΎΡΠ²Π΅Π½Π½ΠΎΠΌΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Ρ ΡΠΎΠ»ΡΠΊΠΎ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄Π° Π½Π° ΠΈΠ½ΡΡΡΡΠΊΡΠΈΡ ENDBR, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°Π·ΠΌΠ΅ΡΠ°Π΅ΡΡΡ Π² ΡΠ°ΠΌΠΎΠΌ Π½Π°ΡΠ°Π»Π΅ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ Ρ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΎΠΌ kCFI, ΡΠ»Π΅Π΄ΠΎΠΌ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΠΏΡΠΎΠ²Π΅ΡΠΊΠ° Ρ ΡΡΠ΅ΠΉ, Π³Π°ΡΠ°Π½ΡΠΈΡΡΡΡΠΈΡ Π½Π΅ΠΈΠ·ΠΌΠ΅Π½Π½ΠΎΡΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Ρ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡ Π΄Π»Ρ Π±Π»ΠΎΠΊΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π°ΡΠ°ΠΊ, ΠΌΠ°Π½ΠΈΠΏΡΠ»ΠΈΡΡΡΡΠΈΡ Π³Π΅Π½Π΅ΡΠ°ΡΠΈΠ΅ΠΉ ΡΠΎΡΡΠΎΡΠ½ΠΈΠΉ «oops», ΠΏΠΎΡΠ»Π΅ ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ½ΡΠ΅ Π·Π°Π΄Π°ΡΠΈ Π·Π°Π²Π΅ΡΡΠ°ΡΡΡΡ ΠΈ ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ Π²ΠΎΡΡΡΠ°Π½Π°Π²Π»ΠΈΠ²Π°Π΅ΡΡΡ Π±Π΅Π· ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π±ΠΎΡΡ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΡΠΈ ΠΎΡΠ΅Π½Ρ Π±ΠΎΠ»ΡΡΠΎΠΌ ΡΠΈΡΠ»Π΅ Π²ΡΠ·ΠΎΠ²ΠΎΠ² ΡΠΎΡΡΠΎΡΠ½ΠΈΡ «oops» Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΡΡΡΡΡΠΈΠΊΠ° ΡΡΡΠ»ΠΎΠΊ (refcount), ΡΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠΊΡΠΏΠ»ΡΠ°ΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, Π²ΡΠ·Π²Π°Π½Π½ΡΠ΅ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ NULL-ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠ»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΡ Π°ΡΠ°ΠΊ Π² ΡΠ΄ΡΠΎ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ Π»ΠΈΠΌΠΈΡ Π½Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ ΡΡΠ°Π±Π°ΡΡΠ²Π°Π½ΠΈΠΉ «oops», ΠΏΠΎΡΠ»Π΅ ΠΏΡΠ΅Π²ΡΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΡΠ΄ΡΠΎ Π±ΡΠ΄Π΅Ρ ΠΈΠ½ΠΈΡΠΈΠΈΡΠΎΠ²Π°ΡΡ ΠΏΠ΅ΡΠ΅Ρ ΠΎΠ΄ Π² ΡΠΎΡΡΠΎΡΠ½ΠΈΠ΅ «panic» Ρ ΠΏΠΎΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΉ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠ·ΠΊΠΎΠΉ, ΡΡΠΎ Π½Π΅ ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΡ Π΄ΠΎΠ±ΠΈΡΡΡΡ ΡΠΈΡΠ»Π° ΠΈΡΠ΅ΡΠ°ΡΠΈΠΉ, Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΠ³ΠΎ Π΄Π»Ρ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ refcount. ΠΠΎ ΡΠΌΠΎΠ»ΡΠ°Π½ΠΈΡ Π»ΠΈΠΌΠΈΡ Π²ΡΡΡΠ°Π²Π»Π΅Π½ Π² 10 ΡΡΡΡΡ «oops», Π½ΠΎ ΠΏΡΠΈ ΠΆΠ΅Π»Π°Π½ΠΈΠΈ Π΅Π³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ·ΠΌΠ΅Π½ΠΈΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ oops_limit.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ LEGACY_TIOCSTI ΠΈ sysctl legacy_tiocsti Π΄Π»Ρ ΠΎΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΡΡ Π² ΡΠ΅ΡΠΌΠΈΠ½Π°Π» ΠΏΡΠΈ ΠΏΠΎΠΌΠΎΡΠΈ ioctl TIOCSTI, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΡΡΡ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ Π΄Π»Ρ ΠΏΠΎΠ΄ΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ ΡΠΈΠΌΠ²ΠΎΠ»ΠΎΠ² Π² Π±ΡΡΠ΅Ρ Π²Π²ΠΎΠ΄Π° ΡΠ΅ΡΠΌΠΈΠ½Π°Π»Π° ΠΈ ΡΠΈΠΌΡΠ»ΡΡΠΈΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΡΡΠΊΠΎΠ³ΠΎ Π²Π²ΠΎΠ΄Π°.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½ΠΎΠ²ΡΠΉ ΡΠΈΠΏ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ ΡΡΡΡΠΊΡΡΡ encoded_page, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΠΈΠΆΠ½ΠΈΠ΅ Π±ΠΈΡΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π΄Π»Ρ ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎΠΉ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΠΈ, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠΉ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΡΠ»ΡΡΠ°ΠΉΠ½ΠΎΠ³ΠΎ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Ρ (ΠΏΡΠΈ ΡΠ΅Π°Π»ΡΠ½ΠΎΠΉ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΠΈ ΡΠ°Π·ΡΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ Π²Π½Π°ΡΠ°Π»Π΅ Π½ΡΠΆΠ½ΠΎ ΠΎΡΠΈΡΡΠΈΡΡ ΡΡΠΈ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π±ΠΈΡΡ).
- ΠΠ° ΠΏΠ»Π°ΡΡΠΎΡΠΌΠ΅ ARM64 Π½Π° ΡΡΠ°ΠΏΠ΅ Π·Π°Π³ΡΡΠ·ΠΊΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Shadow Stack, ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΠΌΠΎΠ³ΠΎ Π΄Π»Ρ Π·Π°ΡΠΈΡΡ ΠΎΡ ΠΏΠ΅ΡΠ΅Π·Π°ΠΏΠΈΡΠΈ Π°Π΄ΡΠ΅ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΏΠ΅ΡΠ΅ΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π±ΡΡΠ΅ΡΠ° Π² ΡΡΠ΅ΠΊΠ΅ (ΡΡΡΡ Π·Π°ΡΠΈΡΡ Π² ΡΠΎΡ ΡΠ°Π½Π΅Π½ΠΈΠΈ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠ΅Π΄Π°ΡΠΈ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ½ΠΊΡΠΈΠΈ Π°Π΄ΡΠ΅ΡΠ° Π²ΠΎΠ·Π²ΡΠ°ΡΠ° Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΌ «ΡΠ΅Π½Π΅Π²ΠΎΠΌ» ΡΡΠ΅ΠΊΠ΅ ΠΈ ΠΈΠ·Π²Π»Π΅ΡΠ΅Π½ΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π°Π΄ΡΠ΅ΡΠ° ΠΏΠ΅ΡΠ΅Π΄ Π²ΡΡ ΠΎΠ΄ΠΎΠΌ ΠΈΠ· ΡΡΠ½ΠΊΡΠΈΠΈ). ΠΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π² ΠΎΠ΄Π½ΠΎΠΉ ΡΠ±ΠΎΡΠΊΠ΅ ΡΠ΄ΡΠ° Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠΉ ΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Shadow Stack ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΎΠ΄Π½ΠΎ ΡΠ΄ΡΠΎ Π½Π° ΡΠ°Π·Π½ΡΡ ARM-ΡΠΈΡΡΠ΅ΠΌΠ°Ρ , Π½Π΅ Π·Π°Π²ΠΈΡΠΈΠΌΠΎ ΠΎΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΈ Π² Π½ΠΈΡ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π΄Π»Ρ Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ ΡΠΊΠ°Π·Π°ΡΠ΅Π»Π΅ΠΉ. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎΠΉ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠ΅ΡΠ΅Π· ΠΏΠΎΠ΄ΠΌΠ΅Π½Ρ Π²ΠΎ Π²ΡΠ΅ΠΌΡ Π·Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΡΠ΅ ΠΈΠ½ΡΡΡΡΠΊΡΠΈΠΉ Π² ΠΊΠΎΠ΄Π΅.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΡΠΎΡΠ°Ρ Intel ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π°ΡΠΈΠ½Ρ ΡΠΎΠ½Π½ΠΎΠ³ΠΎ ΡΠ²Π΅Π΄ΠΎΠΌΠ»Π΅Π½ΠΈΡ ΠΎ Π²ΡΡ ΠΎΠ΄Π΅ (asynchronous exit notification), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠ΅Π³ΠΎ Π²ΡΡΠ²Π»ΡΡΡ single-step Π°ΡΠ°ΠΊΠΈ Π½Π° ΠΊΠΎΠ΄, Π²ΡΠΏΠΎΠ»Π½ΡΠ΅ΠΌΡΠΉ Π² Π°Π½ΠΊΠ»Π°Π²Π°Ρ SGX.
- ΠΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ Π½Π°Π±ΠΎΡ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΡ Π³ΠΈΠΏΠ΅ΡΠ²ΠΈΠ·ΠΎΡΡ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ Π·Π°ΠΏΡΠΎΡΡ ΠΈΠ· Π³ΠΎΡΡΠ΅Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌ Intel TDX (Trusted Domain Extensions).
- Π£Π΄Π°Π»Π΅Π½Ρ ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ ΡΠ΄ΡΠ° RANDOM_TRUST_BOOTLOADER ΠΈ RANDOM_TRUST_CPU, Π²ΠΌΠ΅ΡΡΠΎ ΠΊΠΎΡΠΎΡΡΡ ΡΠ»Π΅Π΄ΡΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠΈΠ΅ ΠΎΠΏΡΠΈΠΈ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ ΡΡΡΠΎΠΊΠΈ random.trust_bootloader ΠΈ random.trust_cpu.
- Π ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ Landlock, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΡΡ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΠ΅ Π³ΡΡΠΏΠΏΡ ΠΏΡΠΎΡΠ΅ΡΡΠΎΠ² Ρ Π²Π½Π΅ΡΠ½ΠΈΠΌ ΠΎΠΊΡΡΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ»Π°Π³Π° LANDLOCK_ACCESS_FS_TRUNCATE, Π΄Π°ΡΡΠ΅Π³ΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΉ ΡΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°ΠΉΠ»ΠΎΠ².
- Π‘Π΅ΡΠ΅Π²Π°Ρ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°
- ΠΠ»Ρ IPv6 Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° PLB (Protective Load Balancing), ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠ° Π±Π°Π»Π°Π½ΡΠΈΡΠΎΠ²ΠΊΠΈ Π½Π°Π³ΡΡΠ·ΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρ ΡΠ΅ΡΠ΅Π²ΡΠΌΠΈ Π»ΠΈΠ½ΠΊΠ°ΠΌΠΈ, Π½Π°ΡΠ΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΡΠΎΠΊΡΠ°ΡΠ΅Π½ΠΈΠ΅ ΡΠΎΡΠ΅ΠΊ ΠΏΠ΅ΡΠ΅Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡΠ°Ρ Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠΎΠ². Π§Π΅ΡΠ΅Π· ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ IPv6 Flow Label, PLB ΡΠ»ΡΡΠ°ΠΉΠ½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΌΠ΅Π½ΡΠ΅Ρ ΠΏΡΡΠΈ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π»Ρ Π²ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠΎΡΡΠ°Ρ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡΠ°. ΠΠ»Ρ ΡΠ½ΠΈΠΆΠ΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠΏΠΎΡΡΠ΄ΠΎΡΠΈΠ²Π°Π½ΠΈΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² Π΄Π°Π½Π½Π°Ρ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΡ ΠΏΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡ ΠΏΠΎΡΠ»Π΅ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΎΠ² ΠΏΡΠΎΡΡΠΎΡ (idle). ΠΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΠ΅ PLB Π² Π΄Π°ΡΠ°ΡΠ΅Π½ΡΡΠ°Ρ Google ΠΏΠΎΠ·Π²ΠΎΠ»ΠΈΠ»ΠΎ ΡΠ½ΠΈΠ·ΠΈΡΡ Π΄ΠΈΡΠ±Π°Π»Π°Π½Ρ Π½Π°Π³ΡΡΠ·ΠΊΠΈ Π½Π° ΠΏΠΎΡΡΡ ΠΊΠΎΠΌΠΌΡΡΠ°ΡΠΎΡΠΎΠ² Π² ΡΡΠ΅Π΄Π½Π΅ΠΌ Π½Π° 60%, ΡΠΌΠ΅Π½ΡΡΠΈΡΡ ΠΏΠΎΡΠ΅ΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ² 33% ΠΈ ΡΠ½ΠΈΠ·ΠΈΡΡ Π·Π°Π΄Π΅ΡΠΆΠΊΠΈ Π½Π° 20%.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π΄ΡΠ°ΠΉΠ²Π΅Ρ Π΄Π»Ρ ΡΡΡΡΠΎΠΉΡΡΠ² MediaTek Ρ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠΎΠΉ Wi-Fi 7 (802.11be).
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° 800-Π³ΠΈΠ³Π°Π±ΠΈΡΠ½ΡΡ Π»ΠΈΠ½ΠΊΠΎΠ².
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠ΅ΡΠ΅ΠΈΠΌΠ΅Π½ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Π½Π° Π»Π΅ΡΡ, Π±Π΅Π· ΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΡΠ°Π±ΠΎΡΡ.
- Π Π·Π°ΠΏΠΈΡΡΠ²Π°Π΅ΠΌΡΠ΅ Π² Π»ΠΎΠ³ ΡΠΎΠΎΠ±ΡΠ΅Π½ΠΈΡ ΠΎ SYN-ΡΠ»ΡΠ΄Π΅ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ ΡΠΏΠΎΠΌΠΈΠ½Π°Π½ΠΈΠ΅ ΠΎΠ± IP-Π°Π΄ΡΠ΅ΡΠ΅, Π½Π° ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΡΠΈΡΡΠ» ΠΏΠ°ΠΊΠ΅Ρ.
- ΠΠ»Ρ UDP ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ Ρ ΡΡ-ΡΠ°Π±Π»ΠΈΡ Π΄Π»Ρ ΡΠ°Π·Π½ΡΡ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ² ΠΈΠΌΡΠ½.
- ΠΠ»Ρ ΡΠ΅ΡΠ΅Π²ΡΡ ΠΌΠΎΡΡΠΎΠ² ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΌΠ΅ΡΠΎΠ΄Π° Π°ΡΡΠ΅Π½ΡΠΈΡΠΈΠΊΠ°ΡΠΈΠΈ MAB (MAC Authentication Bypass).
- ΠΠ»Ρ ΠΏΡΠΎΡΠΎΠΊΠΎΠ»Π° CAN (CAN_RAW) ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠ΅ΠΆΠΈΠΌΠ° ΡΠΎΠΊΠ΅ΡΠΎΠ² SO_MARK Π΄Π»Ρ ΠΏΡΠΈΠΊΡΠ΅ΠΏΠ»Π΅Π½ΠΈΡ ΡΠΈΠ»ΡΡΡΠΎΠ² ΡΡΠ°ΡΠΈΠΊΠ° Π½Π° Π±Π°Π·Π΅ fwmark.
- Π ipset ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²ΡΠΉ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡ bitmask, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡΠΈΠΉ Π·Π°Π΄Π°ΡΡ ΠΌΠ°ΡΠΊΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ»ΡΠ½ΡΡ Π±ΠΈΡΠΎΠ² Π² IP-Π°Π΄ΡΠ΅ΡΠ΅ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, «ipset create set1 hash:ip bitmask 255.128.255.0»).
- Π nf_tables Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΠΎΠ±ΡΠ°Π±ΠΎΡΠΊΠΈ Π²Π½ΡΡΡΠ΅Π½Π½ΠΈΡ (inner) Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ², ΠΈΠ΄ΡΡΠΈΡ Π²Π½ΡΡΡΠΈ ΡΡΠ½Π½Π΅Π»ΠΈΡΡΠ΅ΠΌΡΡ ΠΏΠ°ΠΊΠ΅ΡΠΎΠ².
- ΠΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ° «accel» Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠ΅ΠΉ ΡΡΠ΅ΠΉΠΌΠ²ΠΎΡΠΊΠ° Π΄Π»Ρ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»Π΅ΠΉ Π²ΡΡΠΈΡΠ»Π΅Π½ΠΈΠΉ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠ³ΡΡ ΠΏΠΎΡΡΠ°Π²Π»ΡΡΡΡΡ ΠΊΠ°ΠΊ Π² ΡΠΎΡΠΌΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ASIC, ΡΠ°ΠΊ ΠΈ Π²ΠΈΠ΄Π΅ IP-Π±Π»ΠΎΠΊΠΎΠ² Π²Π½ΡΡΡΠΈ SoC ΠΈ GPU. ΠΠ»Π°Π²Π½ΡΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ ΠΏΠΎΠ΄ΠΎΠ±Π½ΡΠ΅ ΡΡΠΊΠΎΡΠΈΡΠ΅Π»ΠΈ ΠΎΡΠΈΠ΅Π½ΡΠΈΡΠΎΠ²Π°Π½Ρ Π½Π° ΡΡΠΊΠΎΡΠ΅Π½ΠΈΠ΅ ΡΠ΅ΡΠ΅Π½ΠΈΡ Π·Π°Π΄Π°Ρ ΠΌΠ°ΡΠΈΠ½Π½ΠΎΠ³ΠΎ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ.
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ amdgpu Π²ΠΊΠ»ΡΡΠ΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° IP-ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² GC, PSP, SMU ΠΈ NBIO. ΠΠ»Ρ ΡΠΈΡΡΠ΅ΠΌ ARM64 ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° DCN (Display Core Next). Π Π΅Π°Π»ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΡΠΈΡΡΠ½Π½ΠΎΠ³ΠΎ Π²ΡΠ²ΠΎΠ΄Π° Π½Π° ΡΠΊΡΠ°Π½ ΠΏΠ΅ΡΠ΅Π²Π΅Π΄Π΅Π½Π° Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ DCN10 Π½Π° DCN21 ΠΈ ΠΌΠΎΠΆΠ΅Ρ ΡΠ΅ΠΏΠ΅ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡΡΡ ΠΏΡΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΡΠΊΡΠ°Π½ΠΎΠ².
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ i915 (Intel) ΡΡΠ°Π±ΠΈΠ»ΠΈΠ·ΠΈΡΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π΄ΠΈΡΠΊΡΠ΅ΡΠ½ΡΡ Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°ΡΡ Intel Arc (DG2/Alchemist).
- Π Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ Nouveau ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° GPU NVIDIA GA102 (RTX 30) Π½Π° Π±Π°Π·Π΅ Π°ΡΡ ΠΈΡΠ΅ΠΊΡΡΡΡ Ampere. ΠΠ»Ρ ΠΊΠ°ΡΡ nva3 (GT215) Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΠΎΠ½ΠΎΠ²ΠΎΠΉ ΠΏΠΎΠ΄ΡΠ²Π΅ΡΠΊΠΎΠΉ.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π±Π΅ΡΠΏΡΠΎΠ²ΠΎΠ΄Π½ΡΡ Π°Π΄Π°ΠΏΡΠ΅ΡΠΎΠ² Π½Π° Π±Π°Π·Π΅ ΡΠΈΠΏΠΎΠ² Realtek 8852BE, Realtek 8821CU, 8822BU, 8822CU, 8723DU (USB) ΠΈ MediaTek MT7996, Bluetooth ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠΎΠ² Broadcom BCM4377/4378/4387, Π° ΡΠ°ΠΊΠΆΠ΅ Ethernet-ΠΊΠΎΠ½ΡΡΠΎΠ»Π»Π΅ΡΠΎΠ² Motorcomm yt8521, NVIDIA Tegra GE.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ASoC (ALSA System on Chip) Π΄Π»Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΡ Π·Π²ΡΠΊΠΎΠ²ΡΡ ΡΠΈΠΏΠΎΠ² HP Stream 8, Advantech MICA-071, Dell SKU 0C11, Intel ALC5682I-VD, Xiaomi Redmi Book Pro 14 2022, i.MX93, Armada 38x, RK3588. ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π·Π²ΡΠΊΠΎΠ²ΠΎΠ³ΠΎ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡΠ° Focusrite Saffire Pro 40. ΠΠΎΠ±Π°Π²Π»Π΅Π½ Π·Π²ΡΠΊΠΎΠ²ΠΎΠΉ ΠΊΠΎΠ΄Π΅ΠΊΠ° Realtek RT1318.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ΡΠΌΠ°ΡΡΡΠΎΠ½ΠΎΠ² ΠΈ ΠΏΠ»Π°Π½ΡΠ΅ΡΠΎΠ² Sony (Xperia 10 IV, 5 IV, X ΠΈ X compact, OnePlus One, 3, 3T ΠΈ Nord N100, Xiaomi Poco F1 ΠΈ Mi6, Huawei Watch, Google Pixel 3a, Samsung Galaxy Tab 4 10.1.
- ΠΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° ARM SoC ΠΈ ΠΏΠ»Π°Ρ Apple T6000 (M1 Pro), T6001 (M1 Max), T6002 (M1 Ultra), Qualcomm MSM8996 Pro (Snapdragon 821), SM6115 (Snapdragon 662), SM4250 (Snapdragon 460), SM6375 (Snapdragon 695), SDM670 (Snapdragon 670), MSM8976 (Snapdragon 652), MSM8956 (Snapdragon 650), RK3326 Odroid-Go/rg351, Zyxel NSA310S, InnoComm i.MX8MM, Odroid Go Ultra.
ΠΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π»Π°ΡΠΈΠ½ΠΎΠ°ΠΌΠ΅ΡΠΈΠΊΠ°Π½ΡΠΊΠΈΠΉ Π€ΠΎΠ½Π΄ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΠ ΡΡΠΎΡΠΌΠΈΡΠΎΠ²Π°Π» Π²Π°ΡΠΈΠ°Π½Ρ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΡΠ΄ΡΠ° 6.2 — Linux-libre 6.2-gnu, ΠΎΡΠΈΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΡΠΎΡΠΈΠ²ΠΎΠΊ ΠΈ Π΄ΡΠ°ΠΉΠ²Π΅ΡΠΎΠ², ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΡ
Π½Π΅ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΡΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ ΠΈΠ»ΠΈ ΡΡΠ°ΡΡΠΊΠΈ ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡΡ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ
ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π΅ΠΌ. Π Π½ΠΎΠ²ΠΎΠΌ Π²ΡΠΏΡΡΠΊΠ΅ ΠΏΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° Π½ΠΎΠ²ΡΡ
Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ΅ nouveau. ΠΡΠΊΠ»ΡΡΠ΅Π½Π° Π·Π°Π³ΡΡΠ·ΠΊΠ° Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
mt7622, mt7996 wifi ΠΈ bcm4377 bluetooth. ΠΡΠΎΠ²Π΅Π΄Π΅Π½Π° ΡΠΈΡΡΠΊΠ° ΠΈΠΌΡΠ½ Π±Π»ΠΎΠ±ΠΎΠ² Π² dts-ΡΠ°ΠΉΠ»Π°Ρ
Π΄Π»Ρ Π°ΡΡ
ΠΈΡΠ΅ΠΊΡΡΡΡ Aarch64. ΠΠ±Π½ΠΎΠ²Π»ΡΠ½ ΠΊΠΎΠ΄ ΡΠΈΡΡΠΊΠΈ Π±Π»ΠΎΠ±ΠΎΠ² Π² ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ
Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ°Ρ
ΠΈ ΠΏΠΎΠ΄ΡΠΈΡΡΠ΅ΠΌΠ°Ρ
. ΠΡΠ΅ΠΊΡΠ°ΡΠ΅Π½Π° ΡΠΈΡΡΠΊΠ° Π΄ΡΠ°ΠΉΠ²Π΅ΡΠ° s5k4ecgx, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΎΠ½ Π±ΡΠ» ΡΠ΄Π°Π»ΡΠ½ ΠΈΠ· ΡΠ΄ΡΠ°.
ΠΡΡΠΎΡΠ½ΠΈΠΊ: opennet.ru