X で始まるプロセスの動作を変更するコードを Linux カーネルから取り除く

VPN WireGuard の作者である Jason A. Donenfeld は、名前が文字「X」で始まるプロセスの動作を変更する、Linux カーネル コードに存在する汚いハックに開発者の注意を喚起しました。 一見すると、このような修正は通常、プロセス バインディングに隠れた抜け穴を残すためにルートキットに適用されますが、分析によると、この変更は、次の原則に従って、表面化したユーザー空間の互換性違反を一時的に修正するために 2019 年に追加されたことがわかりました。カーネルの変更によってアプリケーションの互換性が損なわれてはなりません。

X.Org サーバーで使用される xf86-video-modesetting DDX ドライバーでアトミック ビデオ モード変更メカニズムを使用しようとしたときに問題が発生し、文字「X」で始まるプロセスにバインドされてしまいました (回避策が適用されていると想定されていました)。 「xorg」へ)。 ほぼ即座に、X.Org の問題は修正されました (アトミック API の使用はデフォルトで無効になっていました)。ただし、暫定修正がカーネルから削除されるのが忘れられ、ioctl を送信してモードをアトミ​​ックに変更しようとしました。文字「X」で始まるすべてのプロセスは引き続きエラーを返します。 if (current->comm[0] == 'X' && req->value == 1) { pr_info("壊れたアトミック モードセット ユーザー空間が検出されました。アトミックを無効にしています\n"); -EOPNOTSUPP を返します。 }

出所: オープンネット.ru

コメントを追加します