]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
drm/i915/fbdev: make intel_framebuffer_create() error return handling explicit
authorJani Nikula <jani.nikula@intel.com>
Thu, 18 Sep 2025 08:40:52 +0000 (11:40 +0300)
committerJani Nikula <jani.nikula@intel.com>
Fri, 19 Sep 2025 06:32:36 +0000 (09:32 +0300)
It's sketchy to pass error pointers via to_intel_framebuffer(). It
probably works as long as struct intel_framebuffer embeds struct
drm_framebuffer at offset 0, but be explicit about it.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://lore.kernel.org/r/17631db227d527d6c67f5d6b67adec1ff8dc6f8d.1758184771.git.jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_fbdev_fb.c

index 210aee9ae88b88b8d32154dfbaa9ea1e230f7c0e..b9dfd00a7d05b4691fa16d896aadfe58dbf27e1d 100644 (file)
@@ -67,9 +67,16 @@ struct intel_framebuffer *intel_fbdev_fb_alloc(struct drm_fb_helper *helper,
                                                          mode_cmd.pixel_format,
                                                          mode_cmd.modifier[0]),
                                      &mode_cmd);
+       if (IS_ERR(fb)) {
+               i915_gem_object_put(obj);
+               goto err;
+       }
+
        i915_gem_object_put(obj);
 
        return to_intel_framebuffer(fb);
+err:
+       return ERR_CAST(fb);
 }
 
 int intel_fbdev_fb_fill_info(struct intel_display *display, struct fb_info *info,