CVE-2026-99214 (GCVE-0-2026-99214)
Vulnerability from cvelistv5
Published
2026-10-28 10:36
Modified
2026-10-28 10:36
Severity ?
Summary
In the Linux kernel, the following vulnerability has been resolved: drm/vc4: hdmi: Move packet RAM enable to PM runtime Audio can be triggered by the HPD handler and start up before video has been restored, calling vc4_hdmi_write_infoframe() for the audio infoframe. vc4_hdmi_write_infoframe() needs Packet RAM to be on to store the infoframe, however, if the video hasn't been enabled, vc4_hdmi_encoder_post_crtc_enable() hasn't been called and therefore, the Packet RAM can be disabled by the time vc4_hdmi_write_infoframe() executes, causing the following splat: [ 201.570266] ------------[ cut here ]------------ [ 201.570293] Packet RAM has to be on to store the packet. [ 201.570367] WARNING: drivers/gpu/drm/vc4/vc4_hdmi.c:683 at vc4_hdmi_write_infoframe+0x404/0x494 [vc4], CPU#0: wireplumber/1606 [...] [ 201.658650] Hardware name: Raspberry Pi 4 Model B Rev 1.5 (DT) [...] [ 201.758499] Call trace: [ 201.760967] vc4_hdmi_write_infoframe+0x404/0x494 [vc4] (P) [ 201.766607] vc4_hdmi_write_audio_infoframe+0x1c/0x28 [vc4] [ 201.772247] write_infoframe+0xbc/0x140 [drm_display_helper] [ 201.777975] drm_atomic_helper_connector_hdmi_update_audio_infoframe+0x80/0xdc [drm_display_helper] [ 201.787140] vc4_hdmi_audio_prepare+0x4ac/0x570 [vc4] [ 201.792252] drm_connector_hdmi_audio_prepare+0x24/0x30 [drm_display_helper] [ 201.799390] hdmi_codec_prepare+0x100/0x160 [snd_soc_hdmi_codec] [ 201.805471] snd_soc_pcm_dai_prepare+0xd4/0x100 [snd_soc_core] [ 201.811375] __soc_pcm_prepare+0x60/0x12c [snd_soc_core] [ 201.816752] soc_pcm_prepare+0x34/0x58 [snd_soc_core] [ 201.821863] snd_pcm_do_prepare+0x70/0x8c [snd_pcm] [ 201.826798] snd_pcm_action_nonatomic+0xe4/0x174 [snd_pcm] [ 201.832350] snd_pcm_prepare+0xc8/0xd8 [snd_pcm] [ 201.837021] snd_pcm_common_ioctl+0x458/0x614 [snd_pcm] [ 201.842308] snd_pcm_ioctl+0x30/0x48 [snd_pcm] [ 201.846802] __arm64_sys_ioctl+0x88/0xd8 [ 201.850769] invoke_syscall+0x48/0xf4 [ 201.854470] el0_svc_common+0x80/0xd8 [ 201.858171] do_el0_svc+0x1c/0x28 [ 201.861520] el0_svc+0x3c/0xb0 [ 201.864605] el0t_64_sync_handler+0x68/0xdc [ 201.868834] el0t_64_sync+0x198/0x19c [ 201.872536] ---[ end trace 0000000000000000 ]--- Considering that Packet RAM enable is essentially a power management configuration, move its enabling/disabling to the Runtime PM hooks. Note that post_crtc_disable() still stops all infoframes, but keeps Packet RAM enabled, leaving it to be disabled by runtime suspend.
Impacted products
Vendor Product Version
Linux Linux Version: b47a72f30768ffe76e105b3e91ad7022003e8504
Version: b47a72f30768ffe76e105b3e91ad7022003e8504
Version: b47a72f30768ffe76e105b3e91ad7022003e8504
Create a notification for this product.
Show details on NVD website


{
  "containers": {
    "cna": {
      "affected": [
        {
          "defaultStatus": "unaffected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/vc4/vc4_hdmi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "lessThan": "6b03e354526f6bad60ed3a7f08fec8b7d29d2f27",
              "status": "affected",
              "version": "b47a72f30768ffe76e105b3e91ad7022003e8504",
              "versionType": "git"
            },
            {
              "lessThan": "6a987992c78e2e04f71e685d1c589f8ea2151fa2",
              "status": "affected",
              "version": "b47a72f30768ffe76e105b3e91ad7022003e8504",
              "versionType": "git"
            },
            {
              "lessThan": "3f57b34485dc01e5a2db60a89a6ae5439a897e53",
              "status": "affected",
              "version": "b47a72f30768ffe76e105b3e91ad7022003e8504",
              "versionType": "git"
            }
          ]
        },
        {
          "defaultStatus": "affected",
          "product": "Linux",
          "programFiles": [
            "drivers/gpu/drm/vc4/vc4_hdmi.c"
          ],
          "repo": "https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git",
          "vendor": "Linux",
          "versions": [
            {
              "status": "affected",
              "version": "6.11"
            },
            {
              "lessThan": "6.11",
              "status": "unaffected",
              "version": "0",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "6.18.*",
              "status": "unaffected",
              "version": "6.18.59",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "7.2.*",
              "status": "unaffected",
              "version": "7.2.13",
              "versionType": "semver"
            },
            {
              "lessThanOrEqual": "*",
              "status": "unaffected",
              "version": "7.3",
              "versionType": "original_commit_for_fix"
            }
          ]
        }
      ],
      "cpeApplicability": [
        {
          "nodes": [
            {
              "cpeMatch": [
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "6.18.59",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.2.13",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                },
                {
                  "criteria": "cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*",
                  "versionEndExcluding": "7.3",
                  "versionStartIncluding": "6.11",
                  "vulnerable": true
                }
              ],
              "negate": false,
              "operator": "OR"
            }
          ]
        }
      ],
      "descriptions": [
        {
          "lang": "en",
          "value": "In the Linux kernel, the following vulnerability has been resolved:\n\ndrm/vc4: hdmi: Move packet RAM enable to PM runtime\n\nAudio can be triggered by the HPD handler and start up before video has\nbeen restored, calling vc4_hdmi_write_infoframe() for the audio infoframe.\nvc4_hdmi_write_infoframe() needs Packet RAM to be on to store the\ninfoframe, however, if the video hasn\u0027t been enabled,\nvc4_hdmi_encoder_post_crtc_enable() hasn\u0027t been called and therefore, the\nPacket RAM can be disabled by the time vc4_hdmi_write_infoframe() executes,\ncausing the following splat:\n\n[  201.570266] ------------[ cut here ]------------\n[  201.570293] Packet RAM has to be on to store the packet.\n[  201.570367] WARNING: drivers/gpu/drm/vc4/vc4_hdmi.c:683 at vc4_hdmi_write_infoframe+0x404/0x494 [vc4], CPU#0: wireplumber/1606\n[...]\n[  201.658650] Hardware name: Raspberry Pi 4 Model B Rev 1.5 (DT)\n[...]\n[  201.758499] Call trace:\n[  201.760967]  vc4_hdmi_write_infoframe+0x404/0x494 [vc4] (P)\n[  201.766607]  vc4_hdmi_write_audio_infoframe+0x1c/0x28 [vc4]\n[  201.772247]  write_infoframe+0xbc/0x140 [drm_display_helper]\n[  201.777975]  drm_atomic_helper_connector_hdmi_update_audio_infoframe+0x80/0xdc [drm_display_helper]\n[  201.787140]  vc4_hdmi_audio_prepare+0x4ac/0x570 [vc4]\n[  201.792252]  drm_connector_hdmi_audio_prepare+0x24/0x30 [drm_display_helper]\n[  201.799390]  hdmi_codec_prepare+0x100/0x160 [snd_soc_hdmi_codec]\n[  201.805471]  snd_soc_pcm_dai_prepare+0xd4/0x100 [snd_soc_core]\n[  201.811375]  __soc_pcm_prepare+0x60/0x12c [snd_soc_core]\n[  201.816752]  soc_pcm_prepare+0x34/0x58 [snd_soc_core]\n[  201.821863]  snd_pcm_do_prepare+0x70/0x8c [snd_pcm]\n[  201.826798]  snd_pcm_action_nonatomic+0xe4/0x174 [snd_pcm]\n[  201.832350]  snd_pcm_prepare+0xc8/0xd8 [snd_pcm]\n[  201.837021]  snd_pcm_common_ioctl+0x458/0x614 [snd_pcm]\n[  201.842308]  snd_pcm_ioctl+0x30/0x48 [snd_pcm]\n[  201.846802]  __arm64_sys_ioctl+0x88/0xd8\n[  201.850769]  invoke_syscall+0x48/0xf4\n[  201.854470]  el0_svc_common+0x80/0xd8\n[  201.858171]  do_el0_svc+0x1c/0x28\n[  201.861520]  el0_svc+0x3c/0xb0\n[  201.864605]  el0t_64_sync_handler+0x68/0xdc\n[  201.868834]  el0t_64_sync+0x198/0x19c\n[  201.872536] ---[ end trace 0000000000000000 ]---\n\nConsidering that Packet RAM enable is essentially a power management\nconfiguration, move its enabling/disabling to the Runtime PM hooks.\n\nNote that post_crtc_disable() still stops all infoframes, but keeps Packet\nRAM enabled, leaving it to be disabled by runtime suspend."
        }
      ],
      "providerMetadata": {
        "dateUpdated": "2026-10-28T10:36:07.867Z",
        "orgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
        "shortName": "Linux"
      },
      "references": [
        {
          "url": "https://git.kernel.org/stable/c/6b03e354526f6bad60ed3a7f08fec8b7d29d2f27"
        },
        {
          "url": "https://git.kernel.org/stable/c/6a987992c78e2e04f71e685d1c589f8ea2151fa2"
        },
        {
          "url": "https://git.kernel.org/stable/c/3f57b34485dc01e5a2db60a89a6ae5439a897e53"
        }
      ],
      "title": "drm/vc4: hdmi: Move packet RAM enable to PM runtime",
      "x_generator": {
        "engine": "bippy-1.2.0"
      }
    }
  },
  "cveMetadata": {
    "assignerOrgId": "416baaa9-dc9f-4396-8d5f-8c081fb06d67",
    "assignerShortName": "Linux",
    "cveId": "CVE-2026-99214",
    "datePublished": "2026-10-28T10:36:07.867Z",
    "dateReserved": "2026-09-25T10:25:14.401Z",
    "dateUpdated": "2026-10-28T10:36:07.867Z",
    "state": "PUBLISHED"
  },
  "dataType": "CVE_RECORD",
  "dataVersion": "5.2"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or seen somewhere by the user.
  • Confirmed: The vulnerability is confirmed from an analyst perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: This vulnerability was exploited and seen by the user reporting the sighting.
  • Patched: This vulnerability was successfully patched by the user reporting the sighting.
  • Not exploited: This vulnerability was not exploited or seen by the user reporting the sighting.
  • Not confirmed: The user expresses doubt about the veracity of the vulnerability.
  • Not patched: This vulnerability was not successfully patched by the user reporting the sighting.


Loading…

Loading…