Senigante la Linuksan Kernon de Kondut-Ŝanĝanta Kodo por Procezoj Komencante kun X

Jason A. Donenfeld, aŭtoro de VPN WireGuard, altiris la atenton de programistoj pri malpura hako ĉeestanta en la Linukso-kernkodo, kiu ŝanĝas la konduton de procezoj, kies nomoj komenciĝas per la karaktero "X". Unuavide, tiaj korektoj estas kutime uzataj en radikiloj por lasi kaŝitan truon en proceza ligado, sed analizo malkaŝis, ke la ŝanĝo estis aldonita en 2019 por provizore ripari malobservon de kongrueco de ŝprucfenestra uzantspaco, konforme al la principo, kiu ŝanĝiĝas al la kerno ne devas rompi kongruecon kun aplikoj.

Problemoj ekestis kiam oni provis uzi la mekanismon por atome ŝanĝi la videoreĝimon en la DDX-ŝoforo xf86-video-modetting uzita en la X.Org-servilo, kio estis pro la ligado al procezoj komencantaj per la karaktero "X" (oni supozis. ke la solvo estis aplikita al la procezo "Xorg"). Preskaŭ tuj la problemo en X.Org estis riparita (uzo de la atoma API estis malebligita defaŭlte), sed ili forgesis forigi la provizoran solvon de la kerno kaj provo sendi ioctl por atome ŝanĝi la reĝimon por ĉiuj procezoj komencante per la signo "X" daŭre rezultas resendi eraron. if (current->comm[0] == 'X' && req->valoro == 1) { pr_info ("rompita atoma modeset uzantspaco detektita, malŝaltanta atoman\n"); reveni -EOPNOTSUPP; }

fonto: opennet.ru

Aldoni komenton