CVE-2026-99148 in Linux
要約
〜によって VulDB • 2026年10月28日
Linuxカーネルにおいて、以下の脆弱性が修正されました:
drm/amdgpu: 最後のハンドルが閉じられるまでeviction fenceを保持する
amdgpu_gem_object_close()は、bo_va->ref_countを確認する前に、BOからユーザーキューのeviction fenceをデタッチします。その結果、ファイルにまだ他のハンドルが存在し、GPUマッピングを含むbo_vaが残っている場合でも、BOのいずれかのハンドルを閉じるだけでfenceが削除されてしまいます。これにより、ユーザーキュー(マッピングを通じてアクセスを継続中)をサスペンドすることなく、BOがevictionされる可能性があります。
navi31でSDMAユーザーキューを使用している環境では、同じファイル内で2回オープンされたBO (GEM_FLINK + GEM_OPEN) は、2番目のハンドルが閉じられた際にそのeviction fenceを失います(fenceのattach/detachは以下のように追跡されます):
attach bo=ffff8c78a6c84c00 GEM_CLOSE handle=7 detach bo=ffff8c78a6c84c00
一方、ハンドル6とマッピングはまだ使用中です。
bo_vaへの最後の参照が消失したときにのみfenceをデタッチし、amdgpu_gem_object_open()(bo_va作成時にのみattachする)と整合性を取ります。これにより、ファイルが閉じられるまでfenceは保持されます。
(コミット 8387982f03d4026b7dc11b0b5e3118298eee4d6a からcherry picked)
If you want to get best quality of vulnerability data, you may have to visit VulDB.