CVE-2026-89807

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 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().

Affected Software

VendorProductVersion RangeStatus
LinuxLinux48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 < 19c73848493ab58e39649700da6de11710a36de1affected
LinuxLinux48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 < ebffa44e7a21ead59ac4b4264e8fc2cbb44c4a21affected
LinuxLinux48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 < c643c229babe2e8efc5eefe60e19d44868a643ffaffected
LinuxLinux48f0bdf4e38e42b8285622cfcfc7e6e490b1a719 < 6aa530642f95d5c48aa336416f94a35e7949b647affected
LinuxLinux6.11affected
LinuxLinux0 < 6.11unaffected
LinuxLinux6.12.110 <= 6.12.*unaffected
LinuxLinux6.18.51 <= 6.18.*unaffected
LinuxLinux7.2.5 <= 7.2.*unaffected
LinuxLinux7.3-rc1 <= *unaffected

Weaknesses

References