All of lore.kernel.org
 help / color / mirror / Atom feed
* CVE-2026-80870: drm/amdkfd: Validate CRIU-restored IDs before idr_alloc
@ 2026-09-04 16:46 Greg Kroah-Hartman
  0 siblings, 0 replies; only message in thread
From: Greg Kroah-Hartman @ 2026-09-04 16:46 UTC (permalink / raw)
  To: linux-cve-announce; +Cc: Greg Kroah-Hartman

From: Greg Kroah-Hartman <gregkh@kernel.org>

Description
===========

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

drm/amdkfd: Validate CRIU-restored IDs before idr_alloc

The KFD CRIU restore flow restores previously saved object IDs from
userspace.

For event restore:

  kfd_criu_restore_event()
      -> create_signal_event() / create_other_event()
          -> allocate_event_notification_slot()
              -> idr_alloc(..., *restore_id, *restore_id + 1, ...)

For BO restore:

  criu_restore_memory_of_gpu()
      -> idr_alloc(..., bo_priv->idr_handle, ...)

In both cases, the restored ID comes from userspace-provided CRIU data.

idr_alloc() expects the ID range values to fit within signed int
limits. If a restored ID is larger than INT_MAX, it can trigger a WARN
in the IDR layer.

A kernel WARN is undesirable because it prints a warning trace and may
cause a panic or reboot on systems with panic_on_warn enabled.

Smatch reported these paths as allowing unchecked userspace values to
reach idr_alloc().

Add INT_MAX validation before using restored IDs in:

- kfd_criu_restore_event()
- criu_restore_memory_of_gpu()

If the restored ID is invalid, return -EINVAL.

This prevents invalid restore data from reaching the IDR layer and
avoids WARN-triggering paths, while keeping valid restore behavior
unchanged.

The Linux kernel CVE team has assigned CVE-2026-80870 to this issue.


Affected and fixed versions
===========================

	Issue introduced in 5.18 with commit 40e8a766a761f7fdc8530347527b344fddf6f1a8 and fixed in 6.1.178 with commit f8687018f24037056692c1e93c7d96cc72889d5b
	Issue introduced in 5.18 with commit 40e8a766a761f7fdc8530347527b344fddf6f1a8 and fixed in 6.6.145 with commit 89a75e3349c4fae28cbedc711bc924cbc6293da2
	Issue introduced in 5.18 with commit 40e8a766a761f7fdc8530347527b344fddf6f1a8 and fixed in 6.12.97 with commit 085ea93bda71fee600cc12a17026598eb10dd1f9
	Issue introduced in 5.18 with commit 40e8a766a761f7fdc8530347527b344fddf6f1a8 and fixed in 6.18.40 with commit 543ed0f61d56501cc585162da600bbedd7c08c0f
	Issue introduced in 5.18 with commit 40e8a766a761f7fdc8530347527b344fddf6f1a8 and fixed in 7.1.5 with commit cb6311f25a096621ac7ffd91b50d1bb1cfb63a96
	Issue introduced in 5.18 with commit 40e8a766a761f7fdc8530347527b344fddf6f1a8 and fixed in 7.2 with commit 85043dd49c2f51a37b22618168e3ae59ab92f0d6

Please see https://www.kernel.org for a full list of currently supported
kernel versions by the kernel community.

Unaffected versions might change over time as fixes are backported to
older supported kernel versions.  The official CVE entry at
	https://cve.org/CVERecord/?id=CVE-2026-80870
will be updated if fixes are backported, please check that for the most
up to date information about this issue.


Affected files
==============

The file(s) affected by this issue are:
	drivers/gpu/drm/amd/amdkfd/kfd_chardev.c
	drivers/gpu/drm/amd/amdkfd/kfd_events.c


Mitigation
==========

The Linux kernel CVE team recommends that you update to the latest
stable kernel version for this, and many other bugfixes.  Individual
changes are never tested alone, but rather are part of a larger kernel
release.  Cherry-picking individual commits is not recommended or
supported by the Linux kernel community at all.  If however, updating to
the latest release is impossible, the individual changes to resolve this
issue can be found at these commits:
	https://git.kernel.org/stable/c/f8687018f24037056692c1e93c7d96cc72889d5b
	https://git.kernel.org/stable/c/89a75e3349c4fae28cbedc711bc924cbc6293da2
	https://git.kernel.org/stable/c/085ea93bda71fee600cc12a17026598eb10dd1f9
	https://git.kernel.org/stable/c/543ed0f61d56501cc585162da600bbedd7c08c0f
	https://git.kernel.org/stable/c/cb6311f25a096621ac7ffd91b50d1bb1cfb63a96
	https://git.kernel.org/stable/c/85043dd49c2f51a37b22618168e3ae59ab92f0d6

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2026-09-04 16:51 UTC | newest]

Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2026-09-04 16:46 CVE-2026-80870: drm/amdkfd: Validate CRIU-restored IDs before idr_alloc Greg Kroah-Hartman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.