Введение | Команда разработчиков ядра Linux недавно объявила, что в предстоящей версии Linux 6.6 будет улучшен механизм модулей ядра, чтобы лучше защититься от неправильного поведения драйверов NVIDIA с закрытым исходным кодом. |
Команда разработчиков ядра Linux недавно объявила, что в предстоящей версии Linux 6.6 будет улучшен механизм модулей ядра, чтобы лучше защититься от неправильного поведения драйверов NVIDIA с закрытым исходным кодом.
Разработчик ядра Linux Кристоф Хеллвиг обнаружил, что NVIDIA недавно обошла меры безопасности, добавленные к ядру в 2020 году, импортировав символы из проприетарных модулей в модули, предположительно имеющие лицензию GPL, а затем реэкспортировав эти символы. Эта мера защиты предназначена для предотвращения использования проприетарных модулей только символов, лицензированных GPL.
Учитывая, что символ_get предназначен для использования только для очень внутренних символов между тесно взаимодействующими модулями, разумно ограничить его символами, экспортируемыми EXPORT_SYMBOL_GPL, и избежать дорогостоящих судебных разбирательств со стороны NVIDIA за обход мер контроля доступа через DMCA.
Версия Linux 6.6 позволит символу_get получать только символы модуля EXPORT_SYMBOL_GPL, чтобы предотвратить обходные действия NVIDIA. Это усилит защиту ядра от проприетарных модулей, использующих только символы с открытым исходным кодом.
NVIDIA посоветовала пользователям избегать Linux 5.9, когда в 2020 году были добавлены первые меры безопасности, а позже в течение нескольких недель выпустила поддерживаемые драйверы. Мы подождем и посмотрим, как долго эта версия Linux 6.6 будет мешать работе драйвера ядра. По крайней мере, NVIDIA с прошлого года поддерживает драйверы ядра графического процессора с открытым исходным кодом в качестве альтернативы своим проприетарным драйверам ядра.
Это улучшение отражает решимость сообщества открытого исходного кода защитить целостность лицензии GPL. Драйверы с открытым исходным кодом, несомненно, являются лучшим выбором для пользователей. Мы с нетерпением ждем будущих улучшений ядра, которые смогут еще больше ограничить незаконное поведение проприетарных драйверов и защитить права и интересы сообщества открытого исходного кода.