]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
drm/sysfb: Return errno code from drm_sysfb_get_visible_size()
authorThomas Zimmermann <tzimmermann@suse.de>
Thu, 18 Jun 2026 08:41:59 +0000 (10:41 +0200)
committerThomas Zimmermann <tzimmermann@suse.de>
Mon, 22 Jun 2026 09:03:22 +0000 (11:03 +0200)
commit7bab0f09d753f098977bbba3955d694c2e2c25da
treeaa820d611e94493eb22828e16ff2502bb3c370fa
parentb771974988ec7ce077a7246fa0fa588c246fe581
drm/sysfb: Return errno code from drm_sysfb_get_visible_size()

Change the return type of drm_sysfb_get_visible_size() to s64 so
that it returns a possible errno code from _get_validated_size0().
Fix callers to handle the errno code.

The currently returned unsigned type converts an errno code to a
very large size value, which drivers interpret as visible size of
the system framebuffer. Later efforts to reserve the framebuffer
resource fail.

The bug has been present since efidrm and vesadrm got merged. It
was then part of each driver.

Signed-off-by: Thomas Zimmermann <tzimmermann@suse.de>
Fixes: 32ae90c66fb6 ("drm/sysfb: Add efidrm for EFI displays")
Fixes: a84eb6abe2b6 ("drm/sysfb: Add vesadrm for VESA displays")
Reviewed-by: Javier Martinez Canillas <javierm@redhat.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: dri-devel@lists.freedesktop.org
Cc: <stable@vger.kernel.org> # v6.16+
Link: https://patch.msgid.link/20260618084327.46567-4-tzimmermann@suse.de
drivers/gpu/drm/sysfb/drm_sysfb_helper.h
drivers/gpu/drm/sysfb/drm_sysfb_screen_info.c
drivers/gpu/drm/sysfb/efidrm.c
drivers/gpu/drm/sysfb/vesadrm.c