След като два месеца разработки, Линус Торвалдс представи версия 7.3 на ядрото на Linux. Сред най-забележителните промени са: механизъм за изолация на файловата система на базата на псевдо-файлова система failfs и системен повик fchroot(), поддръжка за създаване на вложени планиратели SCHED_EXT, BPF обработчици за стартиране на изпълними файлове, алтернативни потоци данни в NTFS3, оптимизации на производителността на FUSE, Btrfs и Ext4, поддръжка на Apple Time Machine в ksmbd, премахване на файловите системи EFS и FreeVxFS, режим на директен достъп до блокови устройства, подобрено управление на недостиг на видео памет, проследяване на достъпа до паметта на хост системата чрез userfaultfd, компресия на правилата на AppArmor, ограничаване на достъпа до AF_ALG, и поддръжка на чипове Apple M3 Pro, Max и Ultra.
В новата версия са приложени 20260 корекции от 3171 разработчик, от които 807 за първи път изпратиха промените си в ядрото. Размерът на патча е 63 МБ (промените засегнаха 14923 файла, добавени 943849 реда код,
изтрито 297515 реда). В предишната версия имаше 17833 корекции от 2766 разработчици, размерът на патча е 68 МБ. Около 44% от всички представени в 7.3 изменения са свързани с драйверите на устройството, приблизително 12% от промените са относно обновяване на код, специфичен за хардуерни архитектури, 12% са свързани с мрежовия стек, 5% — с файловите системи и 3% с вътрешните подистеми на ядрото.
Основните нововъведения в ядрото 7.3 (1, 2, 3):
- Дискова подсистема, вход/изход и файлови системи
- Оптимизирана е производителността на файловата система Btrfs. За не-SSD устройства е премахната ненужната забавяне, което доведе до петfoldно увеличаване на пропускателната способност за натоварвания с активно използване на fsync функцията, като запис на логове. В fsync е деактивирано определянето на празноти в файлове с голям брой екстентове и без празноти, което ускори изпълнението на определени специфични тестове 5 пъти.
При проследяване на некешируемите буфери на екстентовете структурата xarray е заменена с локален LRU списък, което доведе до три пъти увеличаване на производителността на тези операции. Премахнати са спадовете в производителността при използване на режим на директен вход/изход, предизвикани от регресии в предишни версии на ядрото. Намалени са блокировките при предвременно четене на екстентове, което намали разходите при достъп на различни задачи до припокриващи се области.
- В Btrfs е премахната поддръжката на първата версия на кеша с информация за свободното място. ФС, създадени в стари системи, трябва да бъдат преведени на втората версия на кеша с помощта на утилитата btrfstune, иначе ще работят по-бавно. Също така, опцията за монтиране „usebackuproot“ е премахната, вместо нея трябва да се използва „rescue=usebackuproot“.
- В ФС Ext4 е увеличена производителността на паралелни операции за запис при директен вход/изход (Direct I/O) и е ускорено резервирането на празни области чрез извикване на fallocate(). Премахната е регресия, която намалява производителността при буфериран запис.
- В ФС Ext4 режимът на монтиране „data=journal“ е обявен за остарял. Поддръжката на тази опция за монтиране ще бъде прекратена през 2028 година. Опцията „data=journal“ включва режим на пълно журнализиране, при който в журнала се записват не само метаданни, но и самите данни, осигуряващи висока устойчивост при повреди, но усложняващи поддръжката на кода и водещи до значително намаляване на производителността в сравнение с режимите „data=ordered“ и „data=writeback“.
- Премахната е файловата система EFS, която е била използвана в ранните версии на ОС IRIX, спряна е преди около 30 години и вече повече от 20 години не се поддържа. За тези, които се нуждаят от достъп до дялове с EFS, съществуват утилити, работещи в потребителското пространство.
- Премахната е файловата система FreeVxFS, реализираща формата на ФС VERITAS VxFS, използван в SCO UnixWare през 90-те години и отдавна ненужен на практика.
- В механизма за създаване на файлови системи в пространството на потребителя FUSE е увеличена производителността и намалено потреблението на памет при използване на системата за асинхронен вход/изход io_uring. Ускорението е постигнато благодарение на добавянето на възможността за предаване на пулове от буфери от потребителското пространство в ядрото и изключване на излишната буфериране (zero-copy) при достъпа на FUSE-сервера до страниците на паметта на клиентския процес или страничния кеш.
- За блочни устройства е реализиран флаг RWF_DONTCACHE, подобен на режима за директен вход/изход.
(Direct I/O), който може да се използва във функциите preadv2() и pwritev2() или в заявки за четене и запис чрез io_uring за достъп до блоково устройство, заобикаляйки страничния кеш. Например, флагът може да се прилага в СУБД за ниско ниво работа с блокови устройства. - В файловата система overlayfs е добавена поддръжка на картографиране на идентификатори на потребители, прилагана за съпоставяне на файлове на определен потребител от монтиран чужд дял с друг потребител в текущата система.
- Подобрена е поддръжката за монтиране на няколко файлови системи от едно блоково устройство.
- В драйвера ntfs3 е реализирана начална поддръжка на алтернативни потоци данни, споделяни чрез двоеточие в името на файла. За създаване на нов алтернативен поток може да се използва командата "touch file:поток", за четене — "cat file:поток", за изтриване — "rm file:поток", за извеждане на наличните потоци — "cat file:query_streams".
- В новата реализация на NTFS (ntfsplus) в режим само за четене е добавена поддръжка на технологията за прозрачно компресиране на файлове с използване на оверлейни филтри WOF (Windows Overlay Filter).
- В NFS-сървъра е добавена поддръжка за операция CB_NOTIFY, позволяваща на клиента да кешира метаданни на директории на собствената си страна, получавайки известия за промени от сървъра.
- В файловата система F2FS е добавена поддръжка за динамично (без демонтиране на файловата система) изтриване на дялове от общ пул с автоматично преминаване на данни на други дялове и връщането им обратно (например, може временно да се изземе носител за други нужди).
- В XFS е добавена поддръжка на флага FALLOC_FL_WRITE_ZEROES в системния повик fallocate(), позволяваща запълване с нули на определен диапазон в файла, използвайки поддържаната от някои SSD-накопители команда WRITE_ZERO, осъществяваща нулиране без операции вход/изход.
- Оптимизирана е производителността на файловата система Btrfs. За не-SSD устройства е премахната ненужната забавяне, което доведе до петfoldно увеличаване на пропускателната способност за натоварвания с активно използване на fsync функцията, като запис на логове. В fsync е деактивирано определянето на празноти в файлове с голям брой екстентове и без празноти, което ускори изпълнението на определени специфични тестове 5 пъти.
- Памет и системни услуги
- Подобренoто управление недостигна на видеопамет. В ситуации, когато свободната видеопамет е изчерпана, ядрото сега се опитва да премести от видеопаметта в системната памет (GTT) буферите на приложенията, които нямат гарантирани квоти за памет (dmem cgroup), вместо да отказва незабавно разпределянето на видеопамета. Такъв подход гарантира разпределението на ресурси на приложението, за което системата е резервирала определено количество видеопамет, дори ако паметта вече е разпределена на други приложения. По-рано, ако на приложението без квоти е била разпределена видеопамет, то в ситуация на недостиг на видеопамет, приложението с гарантирани квоти не е могло да получи видеопамета, и вместо това чрез подсистемата TTM (Translation Table Maps) на приложението е била разпределена по-бавна системна оперативна памет, адресирана от GPU (GTT).
Подкрепата на dmem cgroup е реализирана за драйверите nouveau, xe и amdgpu. - В механизма SCHED_EXT, позволяващ използването на BPF за създаване на планировчици на CPU, е завършена работата по възможността за създаване на вложени планировчици (sub-scheduler), чрез които за всяка cgroup може да се използва собствен планировчик на задачи.
- В планировчика на задачи са направени подобрения, свързани с обработката на cgroup и решаването на проблеми с разпределението на теглата, които причиняваха допълнителни разходи и забавяния. Предложени са няколко метода за разпределение на теглата за cgroup — ‘up’, ‘max’, ‘concur’ и ‘tasks’, задавани чрез параметъра cgroup_mode. Използва се единна опашка за изпълнение (runqueue) за планиране на задачи вътре в cgroup. Забавянията при планиране на задачи, на които се отреждат кратки квоти на процесорното време, са съкратени чрез
възможността при необходимост да се отменят, обновяват или минимизират времето за изпълнение на задачите, защитени от избутване. - В механизма binfmt_misc (\proc\sys\fs\binfmt_misc) е реализирана
възможност за свързване на BPF обработчици за добавяне на поддръжка на нови формати на изпълними файлове. Промените позволяват програмно да се анализира типът на изпълняемия файл при всяко стартиране и да се избере интерпретатор или динамичен зареждач без хаковете, свързани с използването на утилита patchelf и скриптове. Например, в BPF програми могат да се определят изпълними файлове за различни архитектури или платформи и да се стартират съответни емулатори или Wine, както и да се опрости организацијата на стартиране на изпълними файлове в пакети, инсталирани в различни директории в системи с пакетен мениджър Nix. - Продължава прехвърлянето на промени от клонa Rust-for-Linux, свързани с използването на езика Rust като втори език за разработка на драйвери и модули на ядрото (поддръжката на Rust не е активна по подразбиране и не води до включване на Rust в списъка на задължителните зависимости за компилиране на ядрото). Появи се възможност за използване на Rust за архитектурата PowerPC. Реализирани са: модул за цели числови преобразования без загуби, режим на обфускирано логване на стойностите на указателите с цел предотвратяване на изтичане на информация за адресното пространство, обвивка над функцията synchronize_rcu(), бариери за паметта, модул interrupt за включване/изключване на прекъсвания, типове за вход/изход, обвивки над fwctl, механизъм SRCU (sleepable read-copy-update), обвивки над gem shmem.
spinlock-блокировки SpinLockIrq, които не допускат прекъсвания в критични секции. - Добавен е sysctl параметър syscall_user_dispatch за управление на включването на режима на диспетчеризация на системни повиквания в потребителското пространство, който позволява на един процес да прихваща системни повиквания на друг процес (използва се в Wine за емулация на системни повиквания от Windows).
- В BPF добавена функция bpf_sock_read_xattr(), чрез която BPF програми могат да четат разширените атрибути, зададени от потребителя.
(user.*) от inode сокетите. В BPF приложенията се е появила възможност за определяне на глобални променливи, свързани с CPU. Във верификатора на BPF програми е предоставена допълнителна информация за откритите грешки, улесняваща определянето на причините за проблемите. - В механизмите за проследяване kprobes, uprobes и fprobes е реализирана поддръжка на преобразуване на типове, използвайки данни BTF (BPF Type Format) с информация за проверка на типовете в псевдокод BPF, а също така е подобрено извличането на данни за променливите.
- В подсистемата DAMON (Data Access MONitor), която позволява проследяване на достъпа на процеса до данни в оперативната памет (например, може да се установи до какви области на паметта е имал достъп процеса и кои области на паметта са останали неизползвани), е добавена възможност за мониторинг на промяна на атрибутите на данните (анонимна памет, отразени в паметта файлове, достъп само за четене, липса на достъпи до паметта и т.н.).
- В механизма KHO (Kexec HandOver), използван за стартиране на ново ядро от старото без загуба на състоянието на системата, е осигурен отчет на разпределението на големи страници памет (huge pages) по време на зареждането. Подобни страници памет сега се маркират и съхраняват след стартирането на новото ядро.
- Нискоуровневият код на системата за размяна (swap) е преместен в нова нискоуровнева структура от данни swap_ops, която улесни поддръжката на кода и реализира абстракции, необходими за разширяване на функционалността в бъдеще.
- Добавени са ioctl-команди ALLOCINFO_IOC_CONTENT_ID, ALLOCINFO_IOC_GET_AT и ALLOCINFO_IOC_GET_NEXT, позволяващи селективно предаване в потребителското пространство на данни за профилиране на разпределението на паметта. В сравнение с предишния интерфейс /proc/allocinfo, предложените ioctl-визови позволяват до 20 пъти повишаване на производителността на заявките за профилиране чрез филтриране на излишните данни.
- Подобренoто управление недостигна на видеопамет. В ситуации, когато свободната видеопамет е изчерпана, ядрото сега се опитва да премести от видеопаметта в системната памет (GTT) буферите на приложенията, които нямат гарантирани квоти за памет (dmem cgroup), вместо да отказва незабавно разпределянето на видеопамета. Такъв подход гарантира разпределението на ресурси на приложението, за което системата е резервирала определено количество видеопамет, дори ако паметта вече е разпределена на други приложения. По-рано, ако на приложението без квоти е била разпределена видеопамет, то в ситуация на недостиг на видеопамет, приложението с гарантирани квоти не е могло да получи видеопамета, и вместо това чрез подсистемата TTM (Translation Table Maps) на приложението е била разпределена по-бавна системна оперативна памет, адресирана от GPU (GTT).
- Виртуализация и безопасност
- Предложен е нов механизъм за изолация, който блокира достъпа до съдържанието на файловите системи, с изключение на ресурсите, явно предадени в sandbox-окръжението чрез файлови дескриптори. Механизмът е реализиран с помощта на псевдо-ФС failfs и системно извикване fchroot.
Псевдо-ФС failfs напомня на ФС nullfs, но за разлика от последния реализира принципа „нищо не се поддържа“ вместо „нищо не се съхранява“. Подобно свойство не позволява монтиране на нищо върху failfs, клониране на ФС и проследяване на състоянието чрез statmount(), listmount(), /proc//mountinfo и /proc/filesystems. Ако кореновият или работният каталог на процеса е в failfs, всички опити за навигация по ФС с абсолютни файлови пътища, символични линкове и относителни пътища, зависещи от текущия работен каталог, са блокирани. На процеса се оставя само възможността да се обръща към определен каталог чрез файлови дескриптори, отворени преди изолацията.
За преход в нов режим на изолация е добавен системен повик fchroot, който е подобен на системния повик chroot, но работи на ниво файлови дескриптори. Към системните повици fchdir е добавен флаг FD_FAILFS_ROOT за преместване на работния каталог на процеса в ФС failfs.
Аналогичен флаг е достъпен в системния повик fchroot. - Добавена е възможността за проследяване на достъпа до паметта на гост системата чрез механизма userfaultfd, който позволява създаване на обработвачи на достъпи до неразпределени или защитени страници памет в пространството на потребителя. На практика, предложената възможност позволява на хипервизора да определя страници памет, към които не е имало достъп във виртуалната машина, за тяхното изместване в по-бавна памет или към външно хранилище. За проследяване на нарушения на наложената забрана за четене и запис в наблюдаваната област памет е добавен флаг UFFDIO_REGISTER_MODE_RWP, който може да се използва като по-високопроизводителен аналог на използването на mprotect(PROT_NONE) в комбинация с обработчик на сигнал, генериран при опит за достъп до памет, за която е наложена забрана за четене и запис (в случай на userfaultfd се генерира изключение, обработвано в пространството на потребителя). Промяната е подготвена с помощта на AI („Assisted-by: Claude:claude-opus-4-6“).
- Засилено е разделението между ядрените нишки (kthread) и init-процеса (PID 1). По-рано общото състояние на файловата система беше споделено между ядрените нишки и PID 1.
което позволява чрез извикване на pivot_root() да се преопредели състоянието на файловата система за всички потоци в ядрото. В новата версия в PID 1 е внедрена напълно отделна структура fs_struct, а потоците в ядрото са изолирани в отделна точка на монтиране с nullfs. - Вградена криптографска библиотека (libcrypto) е добавила поддръжка на режимите на шифриране AES — ECB, CBC, CBC-CTS, CTR, XCTR, XTS, GCM и CCM.
- В системата за мандатно управление на достъпа AppArmor е реализирана възможността за зареждане на компресирани набори от правила и е добавен режим на одит.
- Добавен е параметър sysctl af_alg_restrict, който контролира достъпа до криптографския API AF_ALG от потребителското пространство. AF_ALG позволява използването на хардуерни ускорители за криптографски изчисления в Crypto API на ядрото, но се прилага в доста специфични ситуации и не винаги предоставя увеличаване на производителността в сравнение с реализирането на ускорение в потребителското пространство. При това в свързаните с AF_ALG обработчици са открити поредица уязвимости, като например Copy Fail, позволяващи промяна на данните в страничния кеш. С цел намаляване на повърхността на атаката, по подразбиране достъпът до AF_ALG е частично ограничен. Обмисля се възможността за премахване на AF_ALG в едно от бъдещите издания.
- Засилена е верификацията на BPF програми, удостоверени с цифров подпис. Добавена е проверка за целостта на метаданните на BPF програмата преди нейното зареждане.
- В системния повик landlock_restrict_self(), използвано за активиране на блокировките на Landlock, е добавен флаг
LANDLOCK_RESTRICT_SELF_NO_NEW_PRIVS, забраняващ на текущия процес получаването на каквито и да е нови привилегии. Механизмът Landlock позволява на непривилегировани програми да освобождават ненужни привилегии за работа, доброволно ограничавайки по-нататъшния си достъп до системата с цел повишаване на сигурността, например, за защита при опити за експлоатация на уязвимости в програмата. - В драйвера VirtIO-GPU, осигуряващ работа на виртуален GPU, е добавена поддръжка на спящ режим S4 (хибернация).
- Предложен е нов механизъм за изолация, който блокира достъпа до съдържанието на файловите системи, с изключение на ресурсите, явно предадени в sandbox-окръжението чрез файлови дескриптори. Механизмът е реализиран с помощта на псевдо-ФС failfs и системно извикване fchroot.
- Мрежовата подсистема
- В ksmbd, интегриран в ядрото сървър за протокола SMB, е добавена поддръжка на разширенията на Apple Time Machine за съхранение на резервни копия, създавани в macOS чрез това приложение. Реализиран е механизъм за изолиране на последователности от команди SMB, свързан с MessageId, за предотвратяване на атаки чрез изпращане на невалидни или дублирани заявки. Добавена е поддръжка за изпращане на повторни заявки по протокола SMB3 без нарушение на състоянието на сесията, ако предишната заявка е изгубена. В SMB3 е реализирана възможност за криптиране на ниво отделни споделени хранилища (share). Добавена е поддръжка за криптиране на канала за комуникация SMB Direct, използващ технологията RDMA (Remote Direct Memory Access).
- Реализирана е възможност за използване на TCP пакети с разширение BIG TCP, позволяващо увеличаване на максималния размер на TCP пакета до 4 GB, в UDP тунели, базирани на протоколите VXLAN и GENEVE.
- Добавена е поддръжка за пробиване на протокола MCTP (Management Component Transport Protocol) върху USB (MCTP-over-USB 1.1).
- Предоставена е възможност за деактивиране (unregistration) на мрежови устройства (netkit, veth, vxcan, bareudp, geneve, ipvlan, macvlan и т.н.) за избрани пространства от имена.
- За Bluetooth 6.2+ е реализирана поддръжка на механизма SCI (Shorter Connection Interval) за намаляване на забавянето при предаване на данни в режим Bluetooth LE (Low Energy).
- В API nl80211 е добавен унифициран механизъм (NL80211_CMD_PROBE_PEER) за проверка на свързаните пиршета, работещ както в безжичните точки за достъп, така и от страна на клиента.
- Оборудване
- Обявени за остарели и планирани за премахване в ядрото 7.5 са стари ARM платформи, които почти не се използват и затрудняват поддръжката на актуалните подсистеми. За премахване са предвидени около 55 хиляди реда код, свързани с поддръжката на платформи sa1100, omap24xx, i.MX31, samv7, lpc18xx, riscpc, axxia, footbridge, стари платки pxa, orion, dove и mv78xx0, чипове без блок за управление на паметта (MMU) и микроконтролери stm32f4/f7/h7.
- Добавена е начална поддръжка за чипове Apple M3 Pro, Max и Ultra. Реализирано е управление на състоянието на енергопотреблението за SoC Apple.
- В подсистемата DRM (Direct Rendering Manager) е добавено свойство „color format“, позволяващо на потребителя да превключва формата на представяне на цвета за изходното устройство. Свойството е реализирано за драйверите на GPU i915 (HDMI, DP), amdgpu (HDMI, DP) и rockchip (HDMI). За тестване може да се използва команда от вида „modetest -s 115:1920×1080-60@NV12 -w 115:‘color format’:4“, в която 115 — идентификаторът на свързания конектор, а ‘4’ е номерът на формата YUV420.
- В драйвера amdgpu е добавена поддръжка на модификатори DRM за GPU AMD от серии GFX6-8 (Southern Islands, Sea Islands и Volcanic Islands). Реализирана е начална поддръжка на DCN 6.0.0 (Display Core Next). Премахнат е остарелият код.
Добавена е поддръжка на CACP (Content Adaptive Contrast and Power), която позволява да се намали енергопотреблението на OLED панели. За дисплейните модули на архитектура DCN4 е активирана поддръжката на механизма IPS (Idle Power State) за намаляване на енергопотреблението по време на неактивност. Добавена е поддръжка за видеокарти AMD Barco. - В драйвера i915 е преработен кодът за определяне на възможности и възстановяване на състоянието на конекторите DisplayPort. За GPU Novalake (NVL) е добавена поддръжка на CMTG (Common mode timing generator) и DC3DO (Display C3 with Clock Off).
- Продължава работата по drm-драйвера (Direct Rendering Manager) Xe за GPU на базата на архитектура Intel Xe, която се използва в видеокартите Intel от семейството Arc и интегрираната графика, започвайки от процесорите Tiger Lake. Добавени са нови идентификатори на поддържани устройства. В configfs е реализиран атрибутът ‘enable_multi_queue’ за деактивиране на едновременната употреба на множество опашки за пренос на команди. Подобрена е поддръжката на преминаване в режим на сън.
- Продължава интеграцията на компонентите на драйвера Nova за GPU NVIDIA, оборудвани с GSP фърмуери, използвани от серия NVIDIA GeForce RTX 2000 на базата на микроархитектура Turing. Драйверът е написан на езика Rust. В новата версия е преминато на нови образи на фърмуер TLV, вместо старите опции, използвани в драйвера Nouveau. Добавена е поддръжка
на стартиране на фърмуера за чипа GSP (GPU System Processor) с активиране на vGPU. Добавен е API за получаване на информация за размера на видеопамета. - В драйвера Tyr, написан на езика Rust и осигуряващ работа с GPU ARM Mali, е добавена възможността за зареждане на фърмуер в формат Mali CSF, активиране на виртуална памет на GPU и стартиране на MCU.
- В драйвера msm е добавена поддръжка на GPU Adreno Shikra (A704) и Eliza (722).
- Добавена е поддръжка на звукови устройства и ASoC: Pioneer DJ DJM-S11,
AW88399 (Lenovo Legion Pro), AW88399 (Lenovo Legion), Lisuan, ALC235, RME HDSPe AIO, RT766/RT767 SDCA, Maili, Hawi, CS35L62 (SoundWire), RT766/RT767 VA1. - Добавена е поддръжка на Steam Controller (модел 2026); мишки Logitech G502 X Plus и G502 X Lightspeed; клавиатури Endorfy Thock TKL, Zenbook A16; слушалки Nova 5X, Nova 7 и Arctis 7; игрови волан Turtle Beach VelocityOne Race; контролери MSI Claw.
- Подобрена е поддръжката на звука на устройствата ASUS VivoBook M515DA/X515DAP.
LG gram 16 (16Z90TR), Minisforum AI X1 Pro, HP Pavilion 15-eh2xxx, HP Laptop 15-dy0xxx и HP Spectre x360 16-aa0xxx, HP EliteBook 6 G1, HP OmniBook X Flip 14, Lenovo Yoga Pro 7, Huawei Matebook,
ThinkPad X1 Carbon 6th, HP ProBook 440 G5, Acer Aspire A515-57. - Добавена поддръжка за смартфони, таблети и лаптопи: Motorola Edge 30, Motorola Moto G2, Xiaomi 12 Lite 5G, Microsoft Surface Pro, Honor MagicBook art 1412in, Sony Xperia M2, Vicharak Axon, Axon Mini и Vaaman2, Asus Zenbook A16, Lenovo Thinkedge se70.
- Добавена поддръжка за ARM платформи и SoC Samsung Exynos 1580 (използван в знаковите смартфони от 2024 година), Orange Pi 5 pro, Sophgo SG2000 (хибрид Arm/RISC-V), BeagleBadge, Qualcomm 'Shikra' и 'Altera' (Cortex-A78C), Agilex72 (Cortex-A720), Alientek ATK-DLRV1126, Variscite SoC DART-MX8M-PLUS, DART-MX8M-MINI, VAR-SOM-MX8QM и платки Sonata/Symphony на тяхна база, 9Tripod X3568 v4, Youyeetoo YY3588, milk-v duo, ArmSoM CM5, Freescale Verdin iMX8M Mini, Anbernic rg vita-pro, Embedfire lubancat 4, Vicharak Vaaman, LincStation E1, HINLINK H28K.
В същото време латиноамериканският Фонд за свободен софтуер формира
версия на напълно свободното ядро 7.3 — Linux-libre 7.3-gnu, премахнато от елементи на фърмуери и драйвери, съдържащи несвободни компоненти или участъци от код, чиято употреба е ограничена от производителя. В версия 7.3 са почистени от блобове новите драйвери за GPU Mali Tyr, Morse Micro mm81x wi-fi, NXP wi-fi и мрежови карти на чипове Realtek. Обновен е кодът за почистване в драйверите nova-core, amdgpu, adreno, tegra, iris, rtw89 и mt76 wi-fi, Qualcomm Q6V5 PAS, qla2xxx scsi и звуковите кодеци aw88399. Извършено е почистване на имената на блобовете в dts файловете (devicetree) за ARM чиповете на Qualcomm.
Източник: opennet.ru
