---
id: CVE-2026-89807
title: |-
  In the Linux kernel, the following vulnerability has been resolved:

  drm/amdkfd: guard against NULL restore_mqd in CRIU queue restore

  Both create_queue_cpsch() and create_queue_nocpsch() unconditionally
  call mqd_mgr->restore_mqd() when …
summary: |-
  In the Linux kernel, the following vulnerability has been resolved:

  drm/amdkfd: guard against NULL restore_mqd in CRIU queue restore

  Both create_queue_cpsch() and create_queue_nocpsch() unconditionally
  call mqd_mgr->restore_mqd() when …
severity: none
vendor: Linux
product: Linux
affected:
  - >-
    Linux >= 48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 <
    19c73848493ab58e39649700da6de11710a36de1
  - >-
    Linux >= 48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 <
    ebffa44e7a21ead59ac4b4264e8fc2cbb44c4a21
  - >-
    Linux >= 48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 <
    c643c229babe2e8efc5eefe60e19d44868a643ff
  - >-
    Linux >= 48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 <
    6aa530642f95d5c48aa336416f94a35e7949b647
  - Linux 6.11
published: '2026-09-16'
updated: '2026-09-16'
sourceUpdated: '2026-09-16T11:16:45.817'
source: NVD
sourceUrl: 'https://nvd.nist.gov/vuln/detail/CVE-2026-89807'
references:
  - url: 'https://git.kernel.org/stable/c/19c73848493ab58e39649700da6de11710a36de1'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/6aa530642f95d5c48aa336416f94a35e7949b647'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/c643c229babe2e8efc5eefe60e19d44868a643ff'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
  - url: 'https://git.kernel.org/stable/c/ebffa44e7a21ead59ac4b4264e8fc2cbb44c4a21'
    label: 416baaa9-dc9f-4396-8d5f-8c081fb06d67
tags:
  - nvd
  - cve.org
ingestedAt: '2026-09-16T10:53:54.006Z'
epss: 0.002
epssPercentile: 0.10114
---

## Overview

In the Linux kernel, the following vulnerability has been resolved:

drm/amdkfd: guard against NULL restore_mqd in CRIU queue restore

Both create_queue_cpsch() and create_queue_nocpsch() unconditionally
call mqd_mgr->restore_mqd() when a CRIU restore is in progress
(qd != NULL), with no NULL guard. On any system where restore_mqd is
not implemented for the given queue type, a user holding
CAP_CHECKPOINT_RESTORE can trigger a kernel NULL pointer dereference
and panic the machine by issuing KFD_IOC_CRIU_OP_RESTORE with a
crafted queue restore object. Note that checkpoint_mqd is likewise
unimplemented on GFX12, so no legitimate CRIU image can reach this
path — only a hand-crafted restore payload.

Add a NULL guard for restore_mqd immediately after mqd_mgr is
resolved, unwinding via the existing error labels and returning
-EOPNOTSUPP if the callback is not implemented. This mirrors the
existing checkpoint_mqd guard in checkpoint_mqd().

## Remediation

Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
