CVE-2024-40916

CVE-2024-40916

Medium · published July 12, 2024

CVSS v3.1
5.5
EPSS
0%
Percentile
20.9
In the wild
Unconfirmed
What it is

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

drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found

When reading EDID fails and driver reports no modes available, the DRM

core adds an artificial 1024x786 mode to the connector. Unfortunately

some variants of the Exynos HDMI (like the one in Exynos4 SoCs) are not

able to drive such mode, so report a safe 640x480 mode instead of nothing

in case of the EDID reading failure.

This fixes the following issue observed on Trats2 board since commit

13d5b040363c ("drm/exynos: do not return negative values from .get_modes()"):

[drm] Exynos DRM: using 11c00000.fimd device for DMA mapping operations

exynos-drm exynos-drm: bound 11c00000.fimd (ops fimd_component_ops)

exynos-drm exynos-drm: bound 12c10000.mixer (ops mixer_component_ops)

exynos-dsi 11c80000.dsi: [drm:samsung_dsim_host_attach] Attached s6e8aa0 device (lanes:4 bpp:24 mode-flags:0x10b)

exynos-drm exynos-drm: bound 11c80000.dsi (ops exynos_dsi_component_ops)

exynos-drm exynos-drm: bound 12d00000.hdmi (ops hdmi_component_ops)

[drm] Initialized exynos 1.1.0 20180330 for exynos-drm on minor 1

exynos-hdmi 12d00000.hdmi: [drm:hdmiphy_enable.part.0] *ERROR* PLL could not reach steady state

panel-samsung-s6e8aa0 11c80000.dsi.0: ID: 0xa2, 0x20, 0x8c

exynos-mixer 12c10000.mixer: timeout waiting for VSYNC

------------[ cut here ]------------

WARNING: CPU: 1 PID: 11 at drivers/gpu/drm/drm_atomic_helper.c:1682 drm_atomic_helper_wait_for_vblanks.part.0+0x2b0/0x2b8

[CRTC:70:crtc-1] vblank wait timed out

Modules linked in:

CPU: 1 PID: 11 Comm: kworker/u16:0 Not tainted 6.9.0-rc5-next-20240424 #14913

Hardware name: Samsung Exynos (Flattened Device Tree)

Workqueue: events_unbound deferred_probe_work_func

Call trace:

unwind_backtrace from show_stack+0x10/0x14

show_stack from dump_stack_lvl+0x68/0x88

dump_stack_lvl from __warn+0x7c/0x1c4

__warn from warn_slowpath_fmt+0x11c/0x1a8

warn_slowpath_fmt from drm_atomic_helper_wait_for_vblanks.part.0+0x2b0/0x2b8

drm_atomic_helper_wait_for_vblanks.part.0 from drm_atomic_helper_commit_tail_rpm+0x7c/0x8c

drm_atomic_helper_commit_tail_rpm from commit_tail+0x9c/0x184

commit_tail from drm_atomic_helper_commit+0x168/0x190

drm_atomic_helper_commit from drm_atomic_commit+0xb4/0xe0

drm_atomic_commit from drm_client_modeset_commit_atomic+0x23c/0x27c

drm_client_modeset_commit_atomic from drm_client_modeset_commit_locked+0x60/0x1cc

drm_client_modeset_commit_locked from drm_client_modeset_commit+0x24/0x40

drm_client_modeset_commit from __drm_fb_helper_restore_fbdev_mode_unlocked+0x9c/0xc4

__drm_fb_helper_restore_fbdev_mode_unlocked from drm_fb_helper_set_par+0x2c/0x3c

drm_fb_helper_set_par from fbcon_init+0x3d8/0x550

fbcon_init from visual_init+0xc0/0x108

visual_init from do_bind_con_driver+0x1b8/0x3a4

do_bind_con_driver from do_take_over_console+0x140/0x1ec

do_take_over_console from do_fbcon_takeover+0x70/0xd0

do_fbcon_takeover from fbcon_fb_registered+0x19c/0x1ac

fbcon_fb_registered from register_framebuffer+0x190/0x21c

register_framebuffer from __drm_fb_helper_initial_config_and_unlock+0x350/0x574

__drm_fb_helper_initial_config_and_unlock from exynos_drm_fbdev_client_hotplug+0x6c/0xb0

exynos_drm_fbdev_client_hotplug from drm_client_register+0x58/0x94

drm_client_register from exynos_drm_bind+0x160/0x190

exynos_drm_bind from try_to_bring_up_aggregate_device+0x200/0x2d8

try_to_bring_up_aggregate_device from __component_add+0xb0/0x170

__component_add from mixer_probe+0x74/0xcc

mixer_probe from platform_probe+0x5c/0xb8

platform_probe from really_probe+0xe0/0x3d8

really_probe from __driver_probe_device+0x9c/0x1e4

__driver_probe_device from driver_probe_device+0x30/0xc0

driver_probe_device from __device_attach_driver+0xa8/0x120

__device_attach_driver from bus_for_each_drv+0x80/0xcc

bus_for_each_drv from __device_attach+0xac/0x1fc

__device_attach from bus_probe_device+0x8c/0x90

bus_probe_device from deferred_probe_work_func+0

---truncated---

The record
Technical detail
CVSS v3.1
5.5 · MEDIUM
Vector
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
CVSS v4.0
Not supplied
EPSS
0.00294 · 20.9th percentile
Published
2024-07-12T17:15Z
Affected products (10)
ProductVersionsFixed in
linux/linux_kernel≥ 5.4.274, < 5.4.2795.4.279
linux/linux_kernel≥ 5.10.215, < 5.10.2215.10.221
linux/linux_kernel≥ 5.15.154, < 5.15.1625.15.162
linux/linux_kernel≥ 6.1.84, < 6.1.956.1.95
linux/linux_kernel≥ 6.6.24, < 6.6.356.6.35
linux/linux_kernel≥ 6.7.12, < 6.86.8
linux/linux_kernel≥ 6.8.3, < 6.9.66.9.6
linux/linux_kernelall versions—
linux/linux_kernelall versions—
linux/linux_kernelall versions—
References (17)
https://git.kernel.org/stable/c/35bcf16b4a28c10923ff391d14f6ed0ae471ee5f · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/4dfffb50316c761c59386c9b002a10ac6d7bb6c9 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/510a6c0dfa6ec61d07a4b64698d8dc60045bd632 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/6d6bb258d886e124e5a5328e947b36fdcb3a6028 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/799d4b392417ed6889030a5b2335ccb6dcf030ab · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/c3ca24dfe9a2b3f4e8899af108829b0f4b4b15ec · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/e23f2eaf51ecb6ab4ceb770e747d50c1db2eb222 · 416baaa9-dc9f-4396-8d5f-8c081fb06d67https://git.kernel.org/stable/c/35bcf16b4a28c10923ff391d14f6ed0ae471ee5f · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/4dfffb50316c761c59386c9b002a10ac6d7bb6c9 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/510a6c0dfa6ec61d07a4b64698d8dc60045bd632 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/6d6bb258d886e124e5a5328e947b36fdcb3a6028 · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/799d4b392417ed6889030a5b2335ccb6dcf030ab · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/c3ca24dfe9a2b3f4e8899af108829b0f4b4b15ec · af854a3a-2127-422b-91ae-364da2661108https://git.kernel.org/stable/c/e23f2eaf51ecb6ab4ceb770e747d50c1db2eb222 · af854a3a-2127-422b-91ae-364da2661108https://lists.debian.org/debian-lts-announce/2025/01/msg00001.html · af854a3a-2127-422b-91ae-364da2661108https://cert-portal.siemens.com/productcert/html/ssa-265688.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5ehttps://cert-portal.siemens.com/productcert/html/ssa-355557.html · 0b142b55-0307-4c5a-b3c9-f314f3fb7c5e
EPSS history
Timeline
  • 12 JUL 12:24Z
    drm/exynos: hdmi: report safe 640x480 mode as a fallback when no EDID found
    cvelistv5