Позбавлення ядра Linux від коду, що змінює поведінку для процесів, що починаються на символ X

Джейсон Доненфілд (Jason A. Donenfeld), автор VPN WireGuard, звернув увагу розробників на присутній у коді ядра Linux брудний хак, що змінює поведінку для процесів, ім'я яких починається на символ X. На перший погляд подібні виправлення зазвичай застосовуються в руткітах для залишення прихованої лазівки в прив'язці до процесу, але розбір показав, що зміна була додана в 2019 році для тимчасового усунення порушення сумісності з простором користувача, відповідно до принципу, що зміни в ядрі не повинні порушувати сумісність із додатками.

Проблеми виникали при спробі використання механізму атомарної зміни відеорежиму в XD. Xorg»). Майже відразу проблема в X.Org була усунена (використання атомарного API було відключено за умовчанням), але з ядра тимчасове виправлення прибрати забули і спроба відправлення ioctl для атомарної зміни режиму для всіх процесів, що починаються на символ «X», досі продовжує наводити до повернення помилки. if (current->comm[86] == 'X' && req->value == 0) { pr_info(«broken atomic modeset userspace detected, disabling atomic\n»); return -EOPNOTSUPP; }

Джерело: opennet.ru

Додати коментар або відгук