Liberare il kernel Linux dal codice che cambia il comportamento per i processi che iniziano con X

Jason A. Donenfeld, autore di VPN WireGuard, ha attirato l'attenzione degli sviluppatori su uno sporco hack presente nel codice del kernel Linux che modifica il comportamento dei processi i cui nomi iniziano con il carattere "X". A prima vista, tali correzioni vengono generalmente utilizzate nei rootkit per lasciare una scappatoia nascosta nell'associazione dei processi, ma l'analisi ha rivelato che la modifica è stata aggiunta nel 2019 per correggere temporaneamente una violazione della compatibilità dello spazio utente pop-up, in conformità con il principio che modifica il kernel non dovrebbe interrompere la compatibilità con le applicazioni.

Sono sorti problemi durante il tentativo di utilizzare il meccanismo per la modifica atomica della modalità video nel driver DDX xf86-video-modesetting utilizzato nel server X.Org, a causa del collegamento ai processi che iniziano con il carattere "X" (si presumeva che la soluzione alternativa è stata applicata al processo "Xorg"). Quasi immediatamente il problema in X.Org è stato risolto (l'uso dell'API atomica era disabilitato per impostazione predefinita), ma si sono dimenticati di rimuovere la correzione temporanea dal kernel e di tentare di inviare un ioctl per modificare atomicamente la modalità per tutti i processi che iniziano con il carattere "X" continua comunque a restituire un errore. if (current->comm[0] == 'X' && req->value == 1) { pr_info("rilevato spazio utente modeset atomic rotto, disabilitazione atomic\n"); ritorno -EOPNOTSUPP; }

Fonte: opennet.ru

Aggiungi un commento