{
  "schema_version": "1.6.1",
  "id": "RPI-CVE-2026-31540",
  "modified": "2026-10-07T17:22:01Z",
  "upstream": [
    "CVE-2026-31540"
  ],
  "published": "2026-04-24T14:33:31Z",
  "summary": "drm/i915/gt: Check set_default_submission() before deferencing",
  "details": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/i915/gt: Check set_default_submission() before deferencing\n\nWhen the i915 driver firmware binaries are not present, the\nset_default_submission pointer is not set. This pointer is\ndereferenced during suspend anyways.\n\nAdd a check to make sure it is set before dereferencing.\n\n[   23.289926] PM: suspend entry (deep)\n[   23.293558] Filesystems sync: 0.000 seconds\n[   23.298010] Freezing user space processes\n[   23.302771] Freezing user space processes completed (elapsed 0.000 seconds)\n[   23.309766] OOM killer disabled.\n[   23.313027] Freezing remaining freezable tasks\n[   23.318540] Freezing remaining freezable tasks completed (elapsed 0.001 seconds)\n[   23.342038] serial 00:05: disabled\n[   23.345719] serial 00:02: disabled\n[   23.349342] serial 00:01: disabled\n[   23.353782] sd 0:0:0:0: [sda] Synchronizing SCSI cache\n[   23.358993] sd 1:0:0:0: [sdb] Synchronizing SCSI cache\n[   23.361635] ata1.00: Entering standby power mode\n[   23.368863] ata2.00: Entering standby power mode\n[   23.445187] BUG: kernel NULL pointer dereference, address: 0000000000000000\n[   23.452194] #PF: supervisor instruction fetch in kernel mode\n[   23.457896] #PF: error_code(0x0010) - not-present page\n[   23.463065] PGD 0 P4D 0\n[   23.465640] Oops: Oops: 0010 [#1] SMP NOPTI\n[   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)\n[   23.482512] Tainted: [S]=CPU_OUT_OF_SPEC, [W]=WARN\n[   23.496511] Workqueue: async async_run_entry_fn\n[   23.501087] RIP: 0010:0x0\n[   23.503755] Code: Unable to access opcode bytes at 0xffffffffffffffd6.\n[   23.510324] RSP: 0018:ffffb4a60065fca8 EFLAGS: 00010246\n[   23.515592] RAX: 0000000000000000 RBX: ffff9f428290e000 RCX: 000000000000000f\n[   23.522765] RDX: 0000000000000000 RSI: 0000000000000282 RDI: ffff9f428290e000\n[   23.529937] RBP: ffff9f4282907070 R08: ffff9f4281130428 R09: 00000000ffffffff\n[   23.537111] R10: 0000000000000000 R11: 0000000000000001 R12: ffff9f42829070f8\n[   23.544284] R13: ffff9f4282906028 R14: ffff9f4282900000 R15: ffff9f4282906b68\n[   23.551457] FS:  0000000000000000(0000) GS:ffff9f466b2cf000(0000) knlGS:0000000000000000\n[   23.559588] CS:  0010 DS: 0000 ES: 0000 CR0: 0000000080050033\n[   23.565365] CR2: ffffffffffffffd6 CR3: 000000031c230001 CR4: 0000000000f70ef0\n[   23.572539] PKRU: 55555554\n[   23.575281] Call Trace:\n[   23.577770]  <TASK>\n[   23.579905]  intel_engines_reset_default_submission+0x42/0x60\n[   23.585695]  __intel_gt_unset_wedged+0x191/0x200\n[   23.590360]  intel_gt_unset_wedged+0x20/0x40\n[   23.594675]  gt_sanitize+0x15e/0x170\n[   23.598290]  i915_gem_suspend_late+0x6b/0x180\n[   23.602692]  i915_drm_suspend_late+0x35/0xf0\n[   23.607008]  ? __pfx_pci_pm_suspend_late+0x10/0x10\n[   23.611843]  dpm_run_callback+0x78/0x1c0\n[   23.615817]  device_suspend_late+0xde/0x2e0\n[   23.620037]  async_suspend_late+0x18/0x30\n[   23.624082]  async_run_entry_fn+0x25/0xa0\n[   23.628129]  process_one_work+0x15b/0x380\n[   23.632182]  worker_thread+0x2a5/0x3c0\n[   23.635973]  ? __pfx_worker_thread+0x10/0x10\n[   23.640279]  kthread+0xf6/0x1f0\n[   23.643464]  ? __pfx_kthread+0x10/0x10\n[   23.647263]  ? __pfx_kthread+0x10/0x10\n[   23.651045]  ret_from_fork+0x131/0x190\n[   23.654837]  ? __pfx_kthread+0x10/0x10\n[   23.658634]  ret_from_fork_asm+0x1a/0x30\n[   23.662597]  </TASK>\n[   23.664826] Modules linked in:\n[   23.667914] CR2: 0000000000000000\n[   23.671271] ------------[ cut here ]------------\n\n(cherry picked from commit daa199abc3d3d1740c9e3a2c3e9216ae5b447cad)",
  "affected": [
    {
      "package": {
        "ecosystem": "Raspberry Pi OS:12",
        "name": "linux"
      },
      "versions": [
        "1:6.1.47-1+rpt4"
      ],
      "ecosystem_specific": {
        "binaries": [
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-2712",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v6",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v7l",
            "binary_version": "1:6.1.47-1+rpt4"
          },
          {
            "binary_name": "linux-image-6.1.0-rpi3-rpi-v8",
            "binary_version": "1:6.1.47-1+rpt4"
          }
        ]
      },
      "database_specific": {
        "per_version": {
          "1:6.1.47-1+rpt4": {
            "linux_commit": "655fc658a15ae7a6f37103754adb39ba52a9a14e",
            "upstream_version": "6.1.47",
            "assessment": "commit ancestry (strak rule)",
            "upstream_fixed": "6.1.167",
            "compiled_filter": false
          }
        }
      }
    }
  ],
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://www.cve.org/CVERecord?id=CVE-2026-31540"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/db8b1bebe81ffb410ddd746b6869f72e22420850"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/da6552d67012a1cf0585f2eb401d0c4abcf108c9"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/df1f4a7d9cf689b4e96c95255228896505f44c31"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/2e20a886b443a71b573ceaed3ca7053d15380916"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/cf4b224ffb9a58181be32b64130fc36cf59c3192"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/1a16150729db8d997e39519f9d58e6b435c4c087"
    },
    {
      "type": "FIX",
      "url": "https://git.kernel.org/stable/c/0162ab3220bac870e43e229e6e3024d1a21c3f26"
    }
  ],
  "database_specific": {
    "source": "https://git.kernel.org/pub/scm/linux/security/vulns.git",
    "upstream_modified": "2026-05-12T04:54:46Z"
  }
}
