LINUXTALKS.CO

В ядре удален грязный хак, меняющего поведение для процессов на букву X

 

L


0

1

Джейсон Доненфилд (Jason A. Donenfeld), автор VPN WireGuard, обратил внимание разработчиков на присутствующий в коде ядра Linux грязный хак, изменяющий поведение для процессов, имя которых начинается на символ "X".

На первый взгляд подобные исправления обычно применяются в руткитах для оставления скрытой лазейки в привязке к процессу, но разбор показал, что изменение было добавлено в 2019 году для временного устранения всплывшего нарушения совместимости с пространством пользователя, в соответствии с принципом, что изменения в ядре не должны нарушать совместимость с приложениями.

Проблемы возникали при попытке использования механизма атомарного изменения видеорежима в применяемом в X.Org-сервере DDX-драйвере xf86-video-modesetting, чем и была обусловлена привязка к процессам, начинающимся на символ "X" (подразумевалось, что обходной манёвр применяется к процессу "Xorg"). Почти сразу проблема в X.Org была устранена (использование атомарного API было отключено по умолчанию), но из ядра временное исправление убрать забыли и попытка отправки ioctl для атомарного изменения режима для всех процессов, начинающихся на символ "X", до сих пор продолжает приводить к возвращению ошибки.

if (current->comm[0] == 'X' && req->value == 1) { pr_info("broken atomic modeset userspace detected, disabling atomic\n");return -EOPNOTSUPP;}

// cc-by opennet.ru
// converted with crypt’s opennet autoreposter

>>> Подробности

★★☆☆☆
Ограничение на отправку комментариев: только для зарегистрированных пользователей, score>=90