CVE-2026-74638 in Linux情報

要約

〜によって VulDB • 2026年08月22日

Linuxカーネルにおいて、以下の脆弱性が修正されました:

drm/v3d: スケジューラのタイムアウトハンドラを直列化する

V3Dは複数の独立したハードウェアキュー(BIN, RENDER, TFU, CSD)を持っていますが、グローバルリセットは1つだけです。そのため、いずれかのキューでタイムアウトが発生すると、他のすべてのキューのスケジューラも停止、リセット、再起動する必要があります。これにより、並行して実行されるタイムアウトハンドラが安全ではなくなります。

`reset_lock` はこれらの状況を安全にできませんでした。ドライバ側のロックは、ドライバの `&drm_sched_backend_ops.timedout_job` コールバックをカバーするだけだからです。スケジューラはそのコールバックの外側で、タイムアウトしたジョブとその保留リスト(pending list)を処理しており、ドライバの制御外にあります。そのため、1つのキューによってトリガーされたグローバルリセットは、独自のタイムアウト処理の最中にある他のキューと干渉する可能性があります。

その結果、CL集約型アプリケーションが実行中にCSDキューでリセットが発生すると、グローバルリセットによりCLキューのスケジューラが停止および再起動されますが、このとき該当キューは自身のタイムアウトを処理しています。`drm_sched_stop()` と `drm_sched_start()` は、呼び出されたスケジューラの保留リストにあるすべてのジョブのクレジットを引き算したり加算したりします。一方、CLキューのハンドラはその同じリストから同時にジョブを取り出して戻すため、stopとstartが参照するジョブのセットが一致しなくなります。その結果、CLキューには制限を超えて実行中のクレジットが残ってしまいます:

[ 327.302739] ------------[ cut here ]------------
[ 327.302744] WARNING: CPU: 2 PID: 43 at drivers/gpu/drm/scheduler/sched_main.c:102 drm_sched_run_job_work+0x238/0x4d0 [gpu_sched]
[ 327.302884] CPU: 2 UID: 0 PID: 43 Comm: kworker/u16:1 Not tainted 6.18.39-v8-16k+ #3 PREEMPT
[ 327.302889] Hardware name: Raspberry Pi 5 Model B Rev 1.0 (DT)
[ 327.302893] Workqueue: v3d_bin drm_sched_run_job_work [gpu_sched]
[ 327.302984] Call trace:
[ 327.302987] drm_sched_run_job_work+0x238/0x4d0 [gpu_sched] (P)
[ 327.302997] process_scheduled_works+0x180/0x3d0
[ 327.303010] worker_thread+0x268/0x3e8
[ 327.303016] kthread+0x140/0x250
[ 327.303022] ret_from_fork+0x10/0x20
[ 327.303031] ---[ end trace 0000000000000000 ]---

この時点以降、CLキューのクレジットカウントが破綻し、GPU全体のハングとUIのフリーズを引き起こします。

DRMスケジューラには、異なるスケジューラのタイムアウトハンドラを直列化するためのメカニズムが既に用意されています。それは `drm_sched_init()` の `@timeout_wq` パラメータとして渡される順序付きワークキュー(ordered workqueue)です。デフォルトでは、各スケジューラはシステムワークキューにタイムアウト作業をキューイングし、これによりハンドラが並行して実行されます。代わりに、グローバルリセットを持つハードウェアに対してDRMスケジューラのドキュメントで推奨されているように、すべてのキューに共有の順序付きワークキューを与えます。

If you want to get best quality of vulnerability data, you may have to visit VulDB.

責任者

Linux

予約する

2026年08月15日

モデレーション

承諾済み

エントリ

VDB-394411

EPSS

0.00000

アクティビティ

低い

ソース

Want to know what is going to be exploited?

We predict KEV entries!