2
0
mirror of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git synced 2025-09-04 20:19:47 +08:00
linux/drivers/gpu/drm/sysfb
Thomas Zimmermann 615cc4223f drm/vesadrm: Avoid NULL-ptr deref in vesadrm_pmi_cmap_write()
Only set PMI fields if the screen_info's Vesa PM segment has been
set. Vesa PMI is the power-management interface. It also provides
means to set the color palette. The interface is optional, so not
all VESA graphics cards support it. Print vesafb's warning [1] if
the hardware palette cannot be set at all.

If unsupported the field PrimaryPalette in struct vesadrm.pmi is
NULL, which results in a segmentation fault. Happens with qemu's
Cirrus emulation.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 814d270b31 ("drm/sysfb: vesadrm: Add gamma correction")
Link: https://elixir.bootlin.com/linux/v6.15/source/drivers/video/fbdev/vesafb.c#L375 # 1
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Acked-by: Javier Martinez Canillas <javierm@redhat.com>
Link: https://lore.kernel.org/r/20250617140944.142392-1-tzimmermann@suse.de
2025-06-27 16:00:49 +02:00
..
drm_sysfb_helper.h drm/sysfb: Share helpers for screen_info validation 2025-04-14 10:16:14 +02:00
drm_sysfb_modeset.c drm/sysfb: Split source file 2025-04-14 10:16:12 +02:00
drm_sysfb_screen_info.c drm/sysfb: Share helpers for screen_info validation 2025-04-14 10:16:14 +02:00
drm_sysfb.c drm/sysfb: Share helpers for integer validation 2025-04-14 10:16:13 +02:00
efidrm.c drm/sysfb: Share helpers for screen_info validation 2025-04-14 10:16:14 +02:00
Kconfig drm/sysfb: efidrm: Support module builds 2025-04-09 09:03:15 +02:00
Makefile drm/sysfb: Share helpers for screen_info validation 2025-04-14 10:16:14 +02:00
ofdrm.c drm/sysfb: Share helpers for integer validation 2025-04-14 10:16:13 +02:00
simpledrm.c drm/sysfb: Share helpers for integer validation 2025-04-14 10:16:13 +02:00
vesadrm.c drm/vesadrm: Avoid NULL-ptr deref in vesadrm_pmi_cmap_write() 2025-06-27 16:00:49 +02:00