Предложение по блокировке драйверов-прослоек, предоставляющих доступ к GPL-вызовам ядра Linux

Материал из Викиновостей, свободного источника новостей

4 августа 2020 года

Кристоф Хелвиг (Christoph Hellwig), известный разработчик ядра Linux, в своё время входивший в управляющий технический комитет организации Linux Foundation и выступавший истцом в связанном с GPL судебном разбирательстве с VMware, предложил ужесточить защиту от связывания проприетарных драйверов с компонентами ядра Linux, экспортируемыми только для модулей под лицензией GPL. Для обхода ограничения на экспорт GPL-символов производители проприетарных драйверов используют модуль-прослойку, код которой открыт и распространяется под лицензией GPLv2, но функции сводятся к трансляции доступа проприетарного драйвера к необходимым API ядра, запрещённым для использования из проприетарного кода напрямую.

Для блокирования подобного манёвра Кристоф Хелвиг подготовил для ядра Linux патчи, обеспечивающие наследование флагов, связанных с экспортом GPL-символов. Предложение сводится к наследованию флага TAINT_PROPRIETARY_MODULE во всех модулях, импортирующих символы из модулей с данным флагом. Таким образом, если GPL модуль-прослойка попытается импортировать символы из не-GPL модуля, то GPL-модуль унаследует метку TAINT_PROPRIETARY_MODULE и не сможет обращаться к компонентам ядра, доступным только для модулей под лицензией GPL, даже если модуль ранее импортировал символы из категории "gplonly".

Изменение предложено в ответ на публикацию инженером из Facebook серии патчей с реализацией новой подсистемы netgpu, позволяющей организовать прямой обмен данными (DMAzero-copy) между сетевой картой и GPU, при этом выполняя обработку протокола силами CPU. Недовольство разработчиков вызвала доступность реализации только для проприетарных драйверов NVIDIA через предоставляемую данными драйверами GPL-прослойку. В ответ на критику автор патчей указал, что подсистема не привязана к NVIDIA и её поддержка может быть обеспечена в том числе для программных интерфейсов к GPU AMD и Intel. В итоге продвижение netgpu в ядро было признано невозможным до появления рабочей поддержки на основе свободных драйверов, таких как AMDGPU, Intel i915 или Nouveau.

Источники[править]

Creative Commons
Creative Commons
Эта статья содержит материалы из статьи «Предложение по блокировке драйверов-прослоек, предоставляющих доступ к GPL-вызовам ядра Linux», опубликованной OpenNET и распространяющейся на условиях лицензии Creative Commons Attribution (CC BY) — указание автора, источник и лицензию.
Эта статья загружена автоматически ботом NewsBots и ещё не проверялась редакторами Викиновостей.
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.

Комментарии[править]

Викиновости и Wikimedia Foundation не несут ответственности за любые материалы и точки зрения, находящиеся на странице и в разделе комментариев.