Π Π΅Π»ΠΈΠ· ядра Linux 5.13

ПослС Π΄Π²ΡƒΡ… мСсяцСв Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Линус Π’ΠΎΡ€Π²Π°Π»ΡŒΠ΄Ρ прСдставил Ρ€Π΅Π»ΠΈΠ· ядра Linux 5.13. Π‘Ρ€Π΅Π΄ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π·Π°ΠΌΠ΅Ρ‚Π½Ρ‹Ρ… ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ: файловая систСма EROFS, Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Apple M1, cgroup-ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ «misc», ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ /dev/kmem, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π½ΠΎΠ²Ρ‹Ρ… GPU Intel ΠΈ AMD, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ прямого Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ядра ΠΈΠ· BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, рандомизация стСка ядра для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ систСмного Π²Ρ‹Π·ΠΎΠ²Π°, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сборки Π² Clang с Π·Π°Ρ‰ΠΈΡ‚ΠΎΠΉ CFI (Control Flow Integrity), LSM-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ Landlock для Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ ограничСния процСссов, Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ΅ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ΅ устройство Π½Π° Π±Π°Π·Π΅ virtio, multi-shot Ρ€Π΅ΠΆΠΈΠΌ Π² io_uring.

Π’ Π½ΠΎΠ²ΡƒΡŽ Π²Π΅Ρ€ΡΠΈΡŽ принято 17189 исправлСний ΠΎΡ‚ 2150 Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΠΎΠ² (самоС большоС Π² истории), Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΏΠ°Ρ‚Ρ‡Π° — 60 ΠœΠ‘ (измСнСния Π·Π°Ρ‚Ρ€ΠΎΠ½ΡƒΠ»ΠΈ 12996 Ρ„Π°ΠΉΠ»ΠΎΠ², Π΄ΠΎΠ±Π°Π²Π»Π΅Π½ΠΎ 794705 строк ΠΊΠΎΠ΄Π°, ΡƒΠ΄Π°Π»Π΅Π½ΠΎ 399590 строк). Около 47% всСх прСдставлСнных Π² 5.13 ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ связаны с Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌΠΈ устройств, ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π½ΠΎ 14% ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΊ обновлСнию ΠΊΠΎΠ΄Π°, спСцифичного для Π°ΠΏΠΏΠ°Ρ€Π°Ρ‚Π½Ρ‹Ρ… Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€, 13% связано с сСтСвым стСком, 5% — с Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹ΠΌΠΈ систСмами ΠΈ 4% c Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌΠΈ подсистСмами ядра.

ΠžΡΠ½ΠΎΠ²Π½Ρ‹Π΅ Π½ΠΎΠ²ΡˆΠ΅ΡΡ‚Π²Π°:

  • Дисковая подсистСма, Π²Π²ΠΎΠ΄/Π²Ρ‹Π²ΠΎΠ΄ ΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Π΅ систСмы
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы EROFS (Enhanced Read-Only File System), ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΠ΅ΠΉ Huawei для использования Π½Π° Ρ€Π°Π·Π΄Π΅Π»Π°Ρ…, доступных Π² Ρ€Π΅ΠΆΠΈΠΌΠ΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ для чтСния. Новая Π€Π‘ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Ρ…Ρ€Π°Π½Π΅Π½ΠΈΠ΅ Π΄Π°Π½Π½Ρ‹Ρ… Π² сТатом Π²ΠΈΠ΄Π΅ ΠΈ ΠΏΠΎ ΡΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ с Ext4 дСмонстрируСт ΠΏΠΎΡ…ΠΎΠΆΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ ΠΏΡ€ΠΈ Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠΈ ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ чтСния, Π½ΠΎ Π² Ρ€Π°Π·Ρ‹ обгоняСт Ext4 ΠΏΡ€ΠΈ случайном доступС ΠΊ Π΄Π°Π½Π½Ρ‹ΠΌ. НапримСр, ΠΏΡ€ΠΈ ΡƒΡ€ΠΎΠ²Π½Π΅ сТатия 4 ΠΈ тСстировании Π½Π° сСрвСрС с Тёстким диском Π€Π‘ EROFS ΠΎΠ±ΠΎΠ³Π½Π°Π»Π° Ext4 Π² опСрациях случайного чтСния Π±ΠΎΠ»Π΅Π΅ Ρ‡Π΅ΠΌ Π² ΡˆΠ΅ΡΡ‚ΡŒ Ρ€Π°Π·, Π° ΠΏΡ€ΠΈ использовании Android-смартфона с Flash ΠΏΠΎΡ‡Ρ‚ΠΈ Π² Ρ‚Ρ€ΠΈ Ρ€Π°Π·Π°. Как ΠΈ Π² Π΄Ρ€ΡƒΠ³ΠΈΡ… read-only Π€Π‘ структура EROFS сущСствСнно ΡƒΠΏΡ€ΠΎΡ‰Π΅Π½Π° Π·Π° счёт отбрасывания ΠΏΡ€ΠΈ Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… областСй ΠΌΠ΅Ρ‚Π°Π΄Π°Π½Π½Ρ‹Ρ…, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ битовая ΠΊΠ°Ρ€Ρ‚Π° свободных Π±Π»ΠΎΠΊΠΎΠ².
    • Для Ρ„Π°ΠΉΠ»ΠΎΠ²ΠΎΠΉ систСмы SMB3 Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° опция монтирования «rasize», ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ Ρ€Π°Π·ΠΌΠ΅Ρ€ ΠΎΠΊΠ½Π° ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅Π³ΠΎ чтСния (readahead) для увСличСния ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Π²ΠΈΠ΄ΠΎΠ² Π½Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ.
    • Π’ Π€Π‘ ext4 обСспСчСна ΠΏΠ΅Ρ€Π΅Π·Π°ΠΏΠΈΡΡŒ элСмСнтов ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ² ΠΏΡ€ΠΈ ΡƒΠ΄Π°Π»Π΅Π½ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². Π’ ext4 Ρ‚Π°ΠΊΠΆΠ΅ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎΠ΅ использованиС Ρ€Π΅ΠΆΠΈΠΌΠ° Ρ€Π°Π±ΠΎΡ‚Ρ‹ Π±Π΅Π· ΡƒΡ‡Ρ‘Ρ‚Π° рСгистра символов ΠΈ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ.
    • Π’ Π€Π‘ exFAT Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ioctl-ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ FITRIM (discard), для информирования накопитСля ΠΎ Π½Π΅ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Ρ… Π² Π€Π‘ Π±Π»ΠΎΠΊΠ°Ρ….
    • Π’ Π€Π‘ XFS Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΈΠ·ΡŠΡΡ‚ΠΈΡ мСста ΠΈΠ· послСднСй Π³Ρ€ΡƒΠΏΠΏΡ‹ распрСдСлСния Π² Π€Π‘, Ρ‡Ρ‚ΠΎ стало ΠΏΠ΅Ρ€Π²Ρ‹ΠΌ Π·Π²Π΅Π½ΠΎΠΌ Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΡƒΠΌΠ΅Π½ΡŒΡˆΠ΅Π½ΠΈΡ Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Ρ€Π°Π·Π΄Π΅Π»ΠΎΠ² с Π€Π‘ XFS.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ систСмный Π²Ρ‹Π·ΠΎΠ² quotactl_path, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ отличаСтся ΠΎΡ‚ quotactl Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ позволяСт ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΊΠ²ΠΎΡ‚Π°ΠΌΠΈ Π½Π΅ Ρ‡Π΅Ρ€Π΅Π· Ρ„Π°ΠΉΠ» ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ устройства, Π° Ρ‡Π΅Ρ€Π΅Π· ΡƒΠΊΠ°Π·Π°Π½ΠΈΠ΅ ΠΏΡƒΡ‚ΠΈ ΠΊ Ρ‚ΠΎΡ‡ΠΊΠ΅ монтирования Π€Π‘.
    • Π’ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ fanotify Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Ρ‹ возмоТности, доступныС Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ»Π΅Π³ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΌ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ. НапримСр, ΠΏΠΎ Π°Π½Π°Π»ΠΎΠ³ΠΈΠΈ с inotify Π±Π΅Π· ΠΏΡ€Π°Π² SYS_CAP_ADMIN Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΠΎΡ‚ΡΠ»Π΅ΠΆΠΈΠ²Π°Ρ‚ΡŒ события OPEN, ACCESS, MODIFY ΠΈ CLOSE для Ρ„Π°ΠΉΠ»ΠΎΠ² ΠΈ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ΠΎΠ².
  • ΠŸΠ°ΠΌΡΡ‚ΡŒ ΠΈ систСмныС сСрвисы
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ cgroup — «Misc» (CONFIG_CGROUP_MISC), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ограничСния ΠΈ отслСТивания скалярных рСсурсов, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌΠΈ ΠΌΠΎΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ с использованиСм простого счётчика ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ, задавая максимально допустимыС значСния. Π’ качСствС ΠΏΡ€ΠΈΠΌΠ΅Ρ€Π° примСнСния Π½ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° cgroup упоминаСтся ΡƒΠΏΡ€Π°Π²Π»Π΅Π½ΠΈΠ΅ ΠΈΠ΄Π΅Π½Ρ‚ΠΈΡ„ΠΈΠΊΠ°Ρ‚ΠΎΡ€Π°ΠΌΠΈ адрСсного пространства, примСняСмыми Π² ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ΅ AMD SEV (Secure Encrypted Virtualization).
    • Π’ интСрфСйсС асинхронного Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° io_uring для запросов POLL Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Ρ€Π΅ΠΆΠΈΠΌ «multi-shot», ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ POLL Π½Π΅ удаляСтся послС Π³Π΅Π½Π΅Ρ€Π°Ρ†ΠΈΠΈ события, Π° остаётся Π°ΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌ ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ нСсколько событий.
    • Из realtime-Π²Π΅Ρ‚ΠΊΠΈ ядра пСрСнСсён ΠΊΠΎΠ΄, ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰ΠΈΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΡƒ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎ Π³Π΅Π½Π΅Ρ€ΠΈΡ€ΡƒΠ΅ΠΌΡ‹Ρ… ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ Π² ΠΏΠΎΡ‚ΠΎΠΊΠ°Ρ… ядра, Ρ‡Ρ‚ΠΎ позволяСт Π²Ρ‹Ρ‚Π΅ΡΠ½ΡΡ‚ΡŒ ΠΈΡ… Π±ΠΎΠ»Π΅Π΅ ΠΏΡ€ΠΈΠΎΡ€ΠΈΡ‚Π΅Ρ‚Π½Ρ‹ΠΌΠΈ процСссами.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° внутрСнняя Π±ΠΈΠ±Π»ΠΈΠΎΡ‚Π΅ΠΊΠ° netfs, Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ вынСсСны Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ, ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅ΠΌΡ‹Π΅ Π² сСтСвых Ρ„Π°ΠΉΠ»ΠΎΠ²Ρ‹Ρ… систСмах.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ PowerPC Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° пространств ΠΈΠΌΡ‘Π½ для Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (time namespaces), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΡ… ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π΅ своё врСмя.
    • Для Π°Ρ€Ρ…ΠΈΡ‚Π΅ΠΊΡ‚ΡƒΡ€Ρ‹ RISC-V Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° kexec, crash dump, kprobe ΠΈ запуска ядра ΠΏΠΎ мСсту (execute-in-place, Π²Ρ‹ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ с исходного носитСля, Π±Π΅Π· копирования Π² ΠžΠ—Π£).
    • Π’ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°Ρ… трассировки появилась Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ использования локального для Π·Π°Π΄Π°Ρ‡ΠΈ Ρ…Ρ€Π°Π½ΠΈΠ»ΠΈΡ‰Π° Π΄Π°Π½Π½Ρ‹Ρ… (task-local storage), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅Π³ΠΎ Π±ΠΎΠ»Π΅Π΅ Π²Ρ‹ΡΠΎΠΊΡƒΡŽ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π·Π° счёт привязки Π΄Π°Π½Π½Ρ‹Ρ… ΠΊ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΠΎΠΌΡƒ BPF-ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Ρ‡ΠΈΠΊΡƒ.
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ для прямого Π²Ρ‹Π·ΠΎΠ²Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ядра ΠΈΠ· BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΡƒΠΆΠ΅ использован Π² Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠΈ Π°Π»Π³ΠΎΡ€ΠΈΡ‚ΠΌΠΎΠ² ΠΏΠ΅Ρ€Π΅Π³Ρ€ΡƒΠ·ΠΊΠΈ TCP. Для обСспСчСния бСзопасности Π²Ρ‹Π·Ρ‹Π²Π°Π΅ΠΌΡ‹Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π΄ΠΎΠ»ΠΆΠ½Ρ‹ Π±Ρ‹Ρ‚ΡŒ явно ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Ρ‹ Π² Π±Π΅Π»ΠΎΠΌ спискС.
    • Π’ систСму трассировки Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΉ ftrace Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° опция func-no-repeats, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π°Ρ ΠΎΡ‚Ρ€Π°Π·ΠΈΡ‚ΡŒ ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΠ΅ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ Π²Ρ‹Π·ΠΎΠ²Ρ‹ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ Π² Π²ΠΈΠ΄Π΅ счётчика.
    • Π’ систСмный Π²Ρ‹Π·ΠΎΠ² userfaultfd(), ΠΏΡ€Π΅Π΄Π½Π°Π·Π½Π°Ρ‡Π΅Π½Π½Ρ‹ΠΉ для ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ page faults (ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ Π½Π΅Π²Ρ‹Π΄Π΅Π»Π΅Π½Π½Ρ‹ΠΌ страницам памяти) Π² пространствС ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ управлСния частичными fault-Π°ΠΌΠΈ, ΠΏΡ€ΠΈ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… страница памяти присутствуСт, Π½ΠΎ Π½Π΅Ρ‚ записи Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ страниц памяти.
    • ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ„Π°ΠΉΠ»Π° /dev/kmem, ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ доступ ΠΊΠΎ всСму адрСсному пространству ядра. Π”Π°Π½Π½Ρ‹ΠΉ Ρ„Π°ΠΉΠ» ΠΏΡ€ΠΈΠ·Π½Π°Π½ ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΌ ΠΈ ΡΠΎΠ·Π΄Π°ΡŽΡ‰ΠΈΠΌ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡ‹ с Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒΡŽ.
    • Для Ρ‡ΠΈΠΏΠΎΠ² Intel Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для управлСния ΠΎΡ…Π»Π°ΠΆΠ΄Π΅Π½ΠΈΠ΅ΠΌ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΡΠ½ΠΈΠΆΠ°Ρ‚ΡŒ частоту процСссора ΠΏΡ€ΠΈ опасности ΠΏΠ΅Ρ€Π΅Π³Ρ€Π΅Π²Π°. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ ΠΈΠΌΠ΅ΡŽΡ‰Π΅Π³ΠΎΡΡ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π°ΠΊΡ‚ΠΈΠ²Π°Ρ†ΠΈΠΈ TCC (Thermal Control Circuit), Π½ΠΎΠ²Ρ‹ΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΡƒΠ΅Ρ‚ ΠΎΡ‚Π½ΠΎΡΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹ΠΌΠΈ значСниями, Ρ‚.Π΅. ΠΌΠΎΠΆΠ΅Ρ‚ ΡΠ½ΠΈΠ·ΠΈΡ‚ΡŒ частоту Π½Π° этапС Π½Π°Ρ‡Π°Π»Π° Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ роста Ρ‚Π΅ΠΌΠΏΠ΅Ρ€Π°Ρ‚ΡƒΡ€Ρ‹, Π½ΠΎ Π½Π΅ доТидаясь прСодолСния ΠΏΠΎΡ€ΠΎΠ³ΠΎΠ²ΠΎΠ³ΠΎ критичСского значСния.
  • Виртуализация ΠΈ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ
    • Π’ состав Π²ΠΊΠ»ΡŽΡ‡Ρ‘Π½ LSM-ΠΌΠΎΠ΄ΡƒΠ»ΡŒ обСспСчСния изоляции ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ Landlock, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰ΠΈΠΉ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ взаимодСйствиС с внСшним ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠ΅ΠΌ Π³Ρ€ΡƒΠΏΠΏΡ‹ процСссов ΠΈ Ρ€Π°Π·Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ с оглядкой Π½Π° Ρ‚Π°ΠΊΠΈΠΌ ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΡ‹ изоляции, ΠΊΠ°ΠΊ XNU Sandbox, FreeBSD Capsicum ΠΈ OpenBSD Pledge/Unveil. Π›ΠΎΠ³ΠΈΠΊΠ° прСдоставлСния доступа опрСдСляСтся ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ BPF-ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΡ‹, Π½ΠΎ Π² ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ seccomp-bpf, Landlock Π½Π΅ Ρ„ΠΈΠ»ΡŒΡ‚Ρ€ΡƒΠ΅Ρ‚ систСмныС Π²Ρ‹Π·ΠΎΠ²Ρ‹ ΠΈ ΠΈΡ… Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚Ρ‹, Π° позволяСт ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΡ‚ΡŒ использованиС ΠΎΠ±ΡŠΠ΅ΠΊΡ‚ΠΎΠ² ядра, Ρ‚Π°ΠΊΠΈΡ… ΠΊΠ°ΠΊ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ Ρ„Π°ΠΉΠ»ΠΎΠ². ΠŸΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ Landlock любой процСсс, Π² Ρ‚ΠΎΠΌ числС Π½Π΅ΠΏΡ€ΠΈΠ²ΠΈΠ³Π΅Π»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹ΠΉ, ΠΌΠΎΠΆΠ΅Ρ‚ Π½Π°Π΄Ρ‘ΠΆΠ½ΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСбя ΠΈ Π½Π΅Π΄ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ ΠΎΠ±Ρ…ΠΎΠ΄Π° изоляции Π² случаС выявлСния уязвимостСй ΠΈΠ»ΠΈ врСдоносных ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ. Landlock позволяСт процСссу ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Π·Π°Ρ‰ΠΈΡ‰Ρ‘Π½Π½Ρ‹Π΅ ΠΈΠ·ΠΎΠ»ΠΈΡ€ΠΎΠ²Π°Π½Π½Ρ‹Π΅ окруТСния, Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½Ρ‹Π΅ Π² Ρ„ΠΎΡ€ΠΌΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ слоя Π½Π°Π΄ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠΌΠΈ систСмными ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ°ΠΌΠΈ управлСния доступом. НапримСр, ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ° ΠΌΠΎΠΆΠ΅Ρ‚ Π·Π°ΠΏΡ€Π΅Ρ‚ΠΈΡ‚ΡŒ доступ ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ Π·Π° ΠΏΡ€Π΅Π΄Π΅Π»Π°ΠΌΠΈ Ρ€Π°Π±ΠΎΡ‡Π΅Π³ΠΎ ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³Π°.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ смСщСний Π² стСкС ядра ΠΏΡ€ΠΈ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠ΅ систСмных Π²Ρ‹Π·ΠΎΠ²ΠΎΠ² с Ρ†Π΅Π»ΡŒΡŽ услоТнСния Π°Ρ‚Π°ΠΊ Π½Π° стСк. Π‘ΡƒΡ‚ΡŒ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹ Π² Π²Ρ‹Π±ΠΎΡ€Π΅ случайного смСщСния стСка ΠΏΡ€ΠΈ ΠΊΠ°ΠΆΠ΄ΠΎΠΌ систСмном Π²Ρ‹Π·ΠΎΠ²Π΅, Ρ‡Ρ‚ΠΎ услоТняСт ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ раскладки стСка Π² памяти Π΄Π°ΠΆΠ΅ Π² случаС получСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ ΠΎΠ± адрСсах, Ρ‚Π°ΠΊ ΠΊΠ°ΠΊ ΠΏΡ€ΠΈ ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅ΠΌ систСмном Π²Ρ‹Π·ΠΎΠ²Π΅ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ адрСс стСка измСнится. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ Ρ€Π°Π½Π΄ΠΎΠΌΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½Ρ‹ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ ΠΊΠΎΠΌΠ°Π½Π΄Π½ΠΎΠΉ строки ядра «randomize_kstack_offset=on/off» ΠΈ настройка CONFIG_RANDOMIZE_KSTACK_OFFSET_DEFAULT. НакладныС расходы ΠΎΡ†Π΅Π½ΠΈΠ²Π°ΡŽΡ‚ΡΡ ΠΏΡ€ΠΈΠ±Π»ΠΈΠ·ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎ Π² 1% ΠΏΠΎΡ‚Π΅Ρ€ΠΈ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° сборки ядра с Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ΠΌ Π² компиляторС Clang ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° Π·Π°Ρ‰ΠΈΡ‚Ρ‹ CFI (Control Flow Integrity), Π΄ΠΎΠ±Π°Π²Π»ΡΡŽΡ‰Π΅Π³ΠΎ ΠΏΠ΅Ρ€Π΅Π΄ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΌ косвСнным Π²Ρ‹Π·ΠΎΠ²ΠΎΠΌ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ для выявлСния Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… Ρ„ΠΎΡ€ΠΌ Π½Π΅ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½ΠΎΠ³ΠΎ повСдСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΏΠΎΡ‚Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ ΠΌΠΎΠ³ΡƒΡ‚ привСсти ΠΊ Π½Π°Ρ€ΡƒΡˆΠ΅Π½ΠΈΡŽ Π½ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ порядка выполнСния (control flow) Π² Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ примСнСния эксплоитов, ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‰ΠΈΡ… Ρ…Ρ€Π°Π½ΠΈΠΌΡ‹Π΅ Π² памяти ΡƒΠΊΠ°Π·Π°Ρ‚Π΅Π»ΠΈ Π½Π° Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ. Для Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ CFI ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ CONFIG_CFI_CLANG.
    • Π’ прСдоставляСмом ядром сСрвисС хранСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΡˆΠΈΡ„Ρ€ΠΎΠ²Π°Π½ΠΈΡ (key ring) ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (Trusted Keys) Ρ‚Π΅ΠΏΠ΅Ρ€ΡŒ ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°Π΅Ρ‚ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΊΠ»ΡŽΡ‡ΠΈ ΠΈΠ· TPM-ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ, Π½ΠΎ ΠΈ ΠΈΠ· ΠΎΠΊΡ€ΡƒΠΆΠ΅Π½ΠΈΠΉ TEE (Trusted Execution Environment). Для управлСния источником Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ΅Π½ Π·Π°Π³Ρ€ΡƒΠ·ΠΎΡ‡Π½Ρ‹ΠΉ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ «trusted.source». ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ Π΄ΠΎΠ²Π΅Ρ€ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ ASN.1.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ для ΡƒΠΏΡ€Π΅ΠΆΠ΄Π°ΡŽΡ‰Π΅ΠΉ Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ списка ΠΎΡ‚ΠΎΠ·Π²Π°Π½Π½Ρ‹Ρ… сСртификатов Π²ΠΎ врСмя Π·Π°Π³Ρ€ΡƒΠ·ΠΊΠΈ ядра. РСшСна ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ° (CVE-2020-26541) с ΠΈΠ³Π½ΠΎΡ€ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π² Ρ‡Ρ‘Ρ€Π½ΠΎΠΌ спискС UEFI Secure Boot сСртификатов, поставляСмых Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚Π΅ EFI_CERT_X509_GUID, Ρ‡Ρ‚ΠΎ позволяло Π·Π°Π³Ρ€ΡƒΠ·ΠΈΡ‚ΡŒ систСму с ΠΎΡ‚ΠΎΠ·Π²Π°Π½Π½Ρ‹ΠΌ сСртификатом.
    • Π’ криптоподсистСму ядра Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Ρ†ΠΈΡ„Ρ€ΠΎΠ²Ρ‹Ρ… подписСй ECDSA Π½Π° Π±Π°Π·Π΅ эллиптичСских ΠΊΡ€ΠΈΠ²Ρ‹Ρ….
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ Π²Π΅Ρ€ΠΈΡ„ΠΈΠΊΠ°Ρ†ΠΈΠΈ ΠΏΠΎΠ»ΠΈΡ‚ΠΈΠΊ SELinux ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ подсистСмы IMA (Integrity Measurement Architecture), ΠΎΠ±Π΅ΡΠΏΠ΅Ρ‡ΠΈΠ²Π°ΡŽΡ‰Π΅ΠΉ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ Π±Π°Π·Ρ‹ Ρ…ΡΡˆΠ΅ΠΉ для ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ цСлостности Π΄Π°Π½Π½Ρ‹Ρ….
  • БСтСвая подсистСма
    • Π£Π΄Π°Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ WiMAX, которая ΡƒΠΆΠ΅ Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΏΡƒΠ±Π»ΠΈΡ‡Π½Ρ‹Ρ… сСтях, Π° Π² ядрС СдинствСнным Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠΌ с ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ WiMAX остаётся ΡƒΡΡ‚Π°Ρ€Π΅Π²ΡˆΠΈΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ Intel 2400m. Π’ сСтСвом ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ‚ΠΎΡ€Π΅ NetworkManager ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° WiMAX Π±Ρ‹Π»Π° ΠΏΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° Π² 2015 Π³ΠΎΠ΄Ρƒ. Π’ настоящСС врСмя WiMax практичСски ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ вытСснСна Ρ‚Π°ΠΊΠΈΠΌΠΈ тСхнологиями, ΠΊΠ°ΠΊ LTE, HSPA+ ΠΈ Wi-Fi 802.11n.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ для сСтСвого Π°Π΄Π°ΠΏΡ‚Π΅Ρ€Π° MANA (Microsoft Azure Network Adapter).
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ ath11k Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° бСспроводных ΠΌΠΎΠ΄ΡƒΠ»Π΅ΠΉ Qualcomm QCN9074 с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ 802.11ax.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ iwlwifi Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ пассивного сканирования ΠΊΠ°Π½Π°Π»ΠΎΠ² Π² Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½Π΅ 6GHz. Для Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹ Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Π²ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ/Π²Ρ‹ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ IEEE 802.11ax Π½Π° основС ΠΏΠ°Ρ€Π°ΠΌΠ΅Ρ‚Ρ€ΠΎΠ² Π² BIOS.
    • ΠŸΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° оптимизация подсистСмы XDP (eXpress Data Path), ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡŽΡ‰Π΅ΠΉ ΠΌΠ°Π½ΠΈΠΏΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ сСтСвыми ΠΏΠ°ΠΊΠ΅Ρ‚Π°ΠΌΠΈ Π½Π° стадии Π΄ΠΎ ΠΈΡ… ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ сСтСвым стСком ядра Linux. ΠŸΡ€ΠΎΠ²Π΅Π΄Ρ‘Π½Π½Ρ‹Π΅ тСсты Π΄Π΅ΠΌΠΎΠ½ΡΡ‚Ρ€ΠΈΡ€ΡƒΡŽΡ‚ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ XDP Π½Π° 4-8%. Для устройств virtio прирост ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ½ΠΎΠΉ ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚ΠΊΠΈ AF_XDP ΠΌΠΎΠΆΠ΅Ρ‚ Π΄ΠΎΡΡ‚ΠΈΠ³Π°Ρ‚ΡŒ 33%.
    • Π’ ICMP Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½Π½Ρ‹Ρ… PROBE-сообщСний, ΠΎΠΏΡ€Π΅Π΄Π΅Π»Ρ‘Π½Π½Ρ‹Ρ… Π² RFC 8335.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° интСграция Π² ядро MPTCP (MultiPath TCP), Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΡ ΠΏΡ€ΠΎΡ‚ΠΎΠΊΠΎΠ»Π° TCP для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ TCP-соСдинСния с доставкой ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΠΎ нСскольким ΠΌΠ°Ρ€ΡˆΡ€ΡƒΡ‚Π°ΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ€Π°Π·Π½Ρ‹Π΅ сСтСвыС интСрфСйсы, привязанныС ΠΊ Ρ€Π°Π·Π½Ρ‹ΠΌ IP-адрСсам. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° sockopt для задания Ρ‚ΠΈΠΏΠΎΠ²Ρ‹Ρ… ΠΎΠΏΡ†ΠΈΠΉ TCP. Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΡŒ сброса ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΠ΄ΠΏΠΎΡ‚ΠΎΠΊΠΎΠ² (subflow).
    • Π’ netfilter Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° управлСния рСсурсами ΠΏΡ€ΠΈ ΠΏΠΎΠΌΠΎΡ‰ΠΈ ΡƒΠ½ΠΈΡ„ΠΈΡ†ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎΠΉ ΠΈΠ΅Ρ€Π°Ρ€Ρ…ΠΈΠΈ cgroups v2.
    • Π’ ethtool Ρ€Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ интСрфСйс для чтСния статистики IEEE MIB с ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΎΠΉ mlx5 ΠΈ bnxt. Π‘Π΅Ρ‚Π΅Π²Ρ‹ΠΌ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°ΠΌ Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΎ ΠΈΠ·Π²Π»Π΅Ρ‡Π΅Π½ΠΈΠ΅ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… ΠΈΠ· SFP EEPROM, манипулируя Π½Π΅ связкой смСщСниС+Ρ€Π°Π·ΠΌΠ΅Ρ€, Π° страницами памяти.
  • ΠžΠ±ΠΎΡ€ΡƒΠ΄ΠΎΠ²Π°Π½ΠΈΠ΅
    • Π Π΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ARM-Ρ‡ΠΈΠΏΠ° Apple M1, ΠΎΡ…Π²Π°Ρ‚Ρ‹Π²Π°ΡŽΡ‰Π°Ρ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€ ΠΏΡ€Π΅Ρ€Ρ‹Π²Π°Π½ΠΈΠΉ, Ρ‚Π°ΠΉΠΌΠ΅Ρ€, UART, SMP, Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Π²ΠΎΠ΄Π°/Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ MMIO. ΠžΠ±Ρ€Π°Ρ‚Π½Ρ‹ΠΉ ΠΈΠ½ΠΆΠΈΠ½ΠΈΡ€ΠΈΠ½Π³ GPU ΠΏΠΎΠΊΠ° Π½Π΅ Π·Π°Π²Π΅Ρ€ΡˆΡ‘Π½, для ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ Π²Ρ‹Π²ΠΎΠ΄Π° прСдоставляСтся ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ„Ρ€Π΅ΠΉΠΌΠ±ΡƒΡ„Π΅Ρ€Π° ΠΈ консоли Ρ‡Π΅Ρ€Π΅Π· ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠΎΡ€Ρ‚.
    • ΠŸΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ΅Π½Π° чистка ядра ΠΎΡ‚ старых Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Ρ‹ «gasket» (Google ASIC), «sysace», «umem» ΠΈ нСсколько старых Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… ΠΏΠΎΡ€Ρ‚ΠΎΠ².
    • ПослС 13 Π»Π΅Ρ‚ нахоТдСния Π² Π²Π΅Ρ‚ΠΊΠ΅ staging стабилизирован ΠΈ пСрСнСсён Π² основной состав Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ «comedi» для ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ устройств сбора Π΄Π°Π½Π½Ρ‹Ρ….
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ GUD (Generic USB Display) с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π±Π°Π·ΠΎΠ²ΠΎΠ³ΠΎ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° для экранов ΠΈ TV-Π°Π΄Π°ΠΏΡ‚Π΅Ρ€ΠΎΠ², ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅ΠΌΡ‹Ρ… Ρ‡Π΅Ρ€Π΅Π· интСрфСйс USB. Π”Ρ€Π°ΠΉΠ²Π΅Ρ€ прСдоставляСт DRM-свойства (Direct Rendering Manager) для ΠΏΠΎΠ²ΠΎΡ€ΠΎΡ‚Π° изобраТСния, управлСния ΡΡ€ΠΊΠΎΡΡ‚ΡŒΡŽ, доступа ΠΊ EDID, настройки Π²ΠΈΠ΄Π΅ΠΎΡ€Π΅ΠΆΠΈΠΌΠΎΠ² ΠΈ ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΡ TV, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΠΌΠΎΠ³ΡƒΡ‚ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒΡΡ Π² качСствС основы для создания Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ² для ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½Ρ‹Ρ… устройств.
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ «virtio» с Ρ€Π΅Π°Π»ΠΈΠ·Π°Ρ†ΠΈΠ΅ΠΉ Π²ΠΈΡ€Ρ‚ΡƒΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠ³ΠΎ устройства, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π² гостСвых систСмах для Π²Ρ‹Π²ΠΎΠ΄Π° ΠΈ записи Π·Π²ΡƒΠΊΠ° Π±Π΅Π· проброса доступа ΠΊ Π·Π²ΡƒΠΊΠΎΠ²ΠΎΠΉ ΠΊΠ°Ρ€Ρ‚Π΅ ΠΈ Π±Π΅Π· эмуляции.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ amdgpu Π΄ΠΎΠ±Π°Π²Π»Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° GPU Aldebaran (gfx90a). Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° Π½Π°Ρ‡Π°Π»ΡŒΠ½Π°Ρ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‚Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΈ Π°Π΄Π°ΠΏΡ‚ΠΈΠ²Π½ΠΎΠΉ синхронизации FreeSync для HDMI (Ρ€Π°Π½Π΅Π΅ Π±Ρ‹Π»Π° доступна для DisplayPort), которая позволяСт ΠΊΠΎΡ€Ρ€Π΅ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ частоту обновлСния ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΈ Π½Π° экранС. Π’ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ASSR (Alternate Scrambler Seed Reset). Π”ΠΎΠ±Π°Π²Π»Π΅Π½ ioctl для запроса возмоТностСй, связанных с ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΠΈ Π΄Π΅ΠΊΠΎΠ΄ΠΈΡ€ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ Π²ΠΈΠ΄Π΅ΠΎ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½ Ρ€Π΅ΠΆΠΈΠΌ CONFIG_DRM_AMD_SECURE_DISPLAY для обнаруТСния ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΠΉ Π² дисплСях, ΠΎΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ°ΡŽΡ‰ΠΈΡ… критичСски Π²Π°ΠΆΠ½ΡƒΡŽ ΠΈΠ½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΡŽ. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΌΠ΅Ρ…Π°Π½ΠΈΠ·ΠΌΠ° энСргосбСрСТСния ASPM.
    • Π’ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π΅ i915 для Π²ΠΈΠ΄Π΅ΠΎΠΊΠ°Ρ€Ρ‚ Intel Π²ΠΊΠ»ΡŽΡ‡Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° Ρ‡ΠΈΠΏΠΎΠ² Intel Alderlake-S. Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° eDP MSO (Embedded DisplayPort Multi-SST Operation).
    • Π”ΠΎΠ±Π°Π²Π»Π΅Π½Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠ° ΠΈΠ³Ρ€ΠΎΠ²ΠΎΠ³ΠΎ ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π»Π΅Ρ€Π° Luna (Amazon), Π° Ρ‚Π°ΠΊΠΆΠ΅ сСнсорных экранов Hycon HY46XX, ILITEK Lego Series ΠΈ MStar MSG2638

ΠžΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ латиноамСриканский Π€ΠΎΠ½Π΄ свободного ПО сформировал Π²Π°Ρ€ΠΈΠ°Π½Ρ‚ ΠΏΠΎΠ»Π½ΠΎΡΡ‚ΡŒΡŽ свободного ядра 5.11 — Linux-libre 5.11-gnu, ΠΎΡ‡ΠΈΡ‰Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡ‚ элСмСнтов ΠΏΡ€ΠΎΡˆΠΈΠ²ΠΎΠΊ ΠΈ Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€ΠΎΠ², содСрТащих нСсвободныС ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½Ρ‚Ρ‹ ΠΈΠ»ΠΈ участки ΠΊΠΎΠ΄Π°, ΠΎΠ±Π»Π°ΡΡ‚ΡŒ примСнСния ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½Π° ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚Π΅Π»Π΅ΠΌ. Π’ Π½ΠΎΠ²ΠΎΠΌ выпускС ΠΏΡ€ΠΎΠ²Π΅Π΄Π΅Π½Π° чистка Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π° comedi. ΠŸΡ€Π΅ΠΊΡ€Π°Ρ‰Π΅Π½Π° чистка Π΄Ρ€Π°ΠΉΠ²Π°Π΅Ρ€ΠΎΠ² cyclades, isicom tty ΠΈ i2400m wimax, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π±Ρ‹Π»ΠΈ ΡƒΠ΄Π°Π»Π΅Π½Ρ‹ ΠΈΠ· ядра. ΠžΠ±Π½ΠΎΠ²Π»Ρ‘Π½ ΠΊΠΎΠ΄ чистки Π±Π»ΠΎΠ±ΠΎΠ² Π² Π΄Ρ€Π°ΠΉΠ²Π΅Ρ€Π°Ρ… ΠΈ подсистСмах amdgpu, i915 csr, r8152 usb, mhi bus, x86 touchscreen ΠΈ qualcomm arm64.

Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: opennet.ru