# CVE-2026-31540: drm/i915/gt: Check set_default_submission() before deferencing

Status: published. Published: 2026-04-24. Updated: 2026-11-05.

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

drm/i915/gt: Check set_default_submission() before deferencing

When the i915 driver firmware binaries are not present, the
set_default_submission pointer is not set. This pointer is
dereferenced during suspend anyways.

Add a check to make sure it is set before dereferencing.

[   23.289926] PM: suspend entry (deep)
[   23.293558] Filesystems sync: 0.000 seconds
[   23.298010] Freezing user space processes
[   23.302771] Freezing user space processes completed (elapsed 0.000 seconds)
[   23.309766] OOM killer disabled.
[   23.313027] Freezing remaining freezable tasks
[   23.318540] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)
[   23.342038] serial 00:05: disabled
[   23.345719] serial 00:02: disabled
[   23.349342] serial 00:01: disabled
[   23.353782] sd 0:0:0:0: [sda] Synchronizing SCSI cache
[   23.358993] sd 1:0:0:0: [sdb] Synchronizing SCSI cache
[   23.361635] ata1.00: Entering standby power mode
[   23.368863] ata2.00: Entering standby power mode
[   23.445187] BUG: kernel NULL pointer dereference, address: 0000000000000000
[   23.452194] #PF: supervisor instruction fetch in kernel mode
[   23.457896] #PF: error_code(0x0010) - not-present page
[   23.463065] PGD 0 P4D 0
[   23.465640] Oops: Oops: 0010 [#1] SMP NOPTI
[   23.469869] CPU: 8 UID: 0 PID: 211 Comm: kworker/u48:18 Tainted: G S      W           6.19.0-rc4-00020-gf0b9d8eb98df #10 PREEMPT(voluntary)
[   23.482512] Tainted: [S]=CPU_OUT_OF_SPEC, [W]=WARN
[   23.496511] Workqueue: async async_run_entry_fn
[   23.501087] RIP: 0010:0x0
[   23.503755] Code: Unable to access opcode bytes at 0xffffffffffffffd6.
[   23.510324] RSP: 0018:ffffb4a60065fca8 EFLAGS: 00010246
[   23.515592] RAX: 0000000000000000 RBX: ffff9f428290e000 RCX: 000000000000000f
[   23.522765] RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff9f428290e000
[   23.529937] RBP: ffff9f4282907070 R08: ffff9f4281130428 R09: 00000000ffffffff
[   23.537111] R10: 0000000000000000 R11: 0000000000000001 R12: ffff9f42829070f8
[   23.544284] R13: ffff9f4282906028 R14: ffff9f4282900000 R15: ffff9f4282906b68
[   23.551457] FS:  0000000000000000(0000) GS:ffff9f466b2cf000(0000) knlGS:0000000000000000
[   23.559588] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[   23.565365] CR2: ffffffffffffffd6 CR3: 000000031c230001 CR4: 0000000000f70ef0
[   23.572539] PKRU: 55555554
[   23.575281] Call Trace:
[   23.577770]  <TASK>
[   23.579905]  intel_engines_reset_default_submission+0x42/0x60
[   23.585695]  __intel_gt_unset_wedged+0x191/0x200
[   23.590360]  intel_gt_unset_wedged+0x20/0x40
[   23.594675]  gt_sanitize+0x15e/0x170
[   23.598290]  i915_gem_suspend_late+0x6b/0x180
[   23.602692]  i915_drm_suspend_late+0x35/0xf0
[   23.607008]  ? __pfx_pci_pm_suspend_late+0x10/0x10
[   23.611843]  dpm_run_callback+0x78/0x1c0
[   23.615817]  device_suspend_late+0xde/0x2e0
[   23.620037]  async_suspend_late+0x18/0x30
[   23.624082]  async_run_entry_fn+0x25/0xa0
[   23.628129]  process_one_work+0x15b/0x380
[   23.632182]  worker_thread+0x2a5/0x3c0
[   23.635973]  ? __pfx_worker_thread+0x10/0x10
[   23.640279]  kthread+0xf6/0x1f0
[   23.643464]  ? __pfx_kthread+0x10/0x10
[   23.647263]  ? __pfx_kthread+0x10/0x10
[   23.651045]  ret_from_fork+0x131/0x190
[   23.654837]  ? __pfx_kthread+0x10/0x10
[   23.658634]  ret_from_fork_asm+0x1a/0x30
[   23.662597]  </TASK>
[   23.664826] Modules linked in:
[   23.667914] CR2: 0000000000000000
[   23.671271] ------------[ cut here ]------------

(cherry picked from commit daa199abc3d3d1740c9e3a2c3e9216ae5b447cad)

## Remediation

No remediation reported in collected sources

## Affected products and versions

- Linux / Linux: ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < db8b1bebe81ffb410ddd746b6869f72e22420850 (affected, git); ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < da6552d67012a1cf0585f2eb401d0c4abcf108c9 (affected, git); ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < df1f4a7d9cf689b4e96c95255228896505f44c31 (affected, git); ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < 2e20a886b443a71b573ceaed3ca7053d15380916 (affected, git); ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < cf4b224ffb9a58181be32b64130fc36cf59c3192 (affected, git); ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < 1a16150729db8d997e39519f9d58e6b435c4c087 (affected, git); ≥ ff44ad51ebf8e4693bd66ae41aa37a6bc88a134f; < 0162ab3220bac870e43e229e6e3024d1a21c3f26 (affected, git). Source: CNA: Linux
- Linux / Linux: 4.12 (affected); ≥ 0; < 4.12 (unaffected, semver); ≥ 5.15.203; ≤ 5.15.* (unaffected, semver); ≥ 6.1.167; ≤ 6.1.* (unaffected, semver); ≥ 6.6.130; ≤ 6.6.* (unaffected, semver); ≥ 6.12.78; ≤ 6.12.* (unaffected, semver); ≥ 6.18.20; ≤ 6.18.* (unaffected, semver); ≥ 6.19.10; ≤ 6.19.* (unaffected, semver); ≥ 7.0; ≤ * (unaffected, original_commit_for_fix). Source: CNA: Linux

## Severity and prioritization

- CISA KEV: No listing in collected sources

- EPSS: 0.12% as of 2026-11-05; percentile 2.05%

- SSVC: exploitation none; automatable no; technical impact partial; source ADP: CISA-ADP

- Weaknesses: Not reported

## Exploit evidence

No exploit evidence in collected sources. This is not proof of no exploitation.

## References

- https://git.kernel.org/stable/c/db8b1bebe81ffb410ddd746b6869f72e22420850 (CNA: Linux)

- https://git.kernel.org/stable/c/da6552d67012a1cf0585f2eb401d0c4abcf108c9 (CNA: Linux)

- https://git.kernel.org/stable/c/df1f4a7d9cf689b4e96c95255228896505f44c31 (CNA: Linux)

- https://git.kernel.org/stable/c/2e20a886b443a71b573ceaed3ca7053d15380916 (CNA: Linux)

- https://git.kernel.org/stable/c/cf4b224ffb9a58181be32b64130fc36cf59c3192 (CNA: Linux)

- https://git.kernel.org/stable/c/1a16150729db8d997e39519f9d58e6b435c4c087 (CNA: Linux)

- https://git.kernel.org/stable/c/0162ab3220bac870e43e229e6e3024d1a21c3f26 (CNA: Linux)

## Provenance

- CNA: Linux: https://www.cve.org/CVERecord?id=CVE-2026-31540; retrieved 2026-11-05; source updated 2026-11-05

- FIRST EPSS: https://api.first.org/data/v1/epss?cve=CVE-2026-31540; retrieved 2026-11-05; source updated Not reported

Revision: 785006eec5c84654c34dccb1ce2dadf3ba1865f0036526518040833974cb6e22

Canonical: https://y2.dev/cve/CVE-2026-31540

## Agent and API access

Public CVE pages, Markdown, and JSON are free to read without an account or API key.

- Public catalog: https://y2.dev/cve/index.json. Follow nextCursor with the same search, filters, sort, and limit (1–100). A null cursor marks the end.

- WebMCP: search_cve_disclosures, get_cve_disclosure, get_cve_page_markdown, get_y2_cve_access. Available in compatible browsers.

- Cyber API: https://api.y2.dev/api/v2/cyber/cves and https://api.y2.dev/api/v2/cyber/cves/{cveId}.

- Y2 Pro or Elite: create a workspace API key with the intel:cyber scope and send Authorization: Bearer <Y2_API_KEY>. Setup: https://y2.dev/docs/api/create-key.

- x402: Pay per request without an account or API key. Omit Authorization, read the HTTP 402 PAYMENT-REQUIRED challenge, validate its current requirements, and retry with PAYMENT-SIGNATURE through an authorized payment client. These browser tools never make payments. Guide: https://y2.dev/docs/api/x402.

- OpenAPI: https://y2.dev/api/openapi.yaml. Agent access metadata: https://y2.dev/cve/agent.json.

Collected public records only. Check source status for coverage and freshness.