Commit cead55e2 authored by Ville Syrjälä's avatar Ville Syrjälä
Browse files

drm/plane: Fix create_in_format_blob() return value



create_in_format_blob() is either supposed to return a valid
pointer or an error, but never NULL. The caller will dereference
the blob when it is not an error, and thus will oops if NULL
returned. Return proper error values in the failure cases.

Cc: stable@vger.kernel.org
Cc: Arun R Murthy <arun.r.murthy@intel.com>
Fixes: 0d6dcd74 ("drm/plane: modify create_in_formats to acommodate async")
Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patch.msgid.link/20251112233030.24117-2-ville.syrjala@linux.intel.com


Reviewed-by: default avatarArun R Murthy <arun.r.murthy@intel.com>
parent d4f14fa5
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -210,7 +210,7 @@ static struct drm_property_blob *create_in_format_blob(struct drm_device *dev,
	formats_size = sizeof(__u32) * plane->format_count;
	if (WARN_ON(!formats_size)) {
		/* 0 formats are never expected */
		return 0;
		return ERR_PTR(-EINVAL);
	}

	modifiers_size =
@@ -226,7 +226,7 @@ static struct drm_property_blob *create_in_format_blob(struct drm_device *dev,

	blob = drm_property_create_blob(dev, blob_size, NULL);
	if (IS_ERR(blob))
		return NULL;
		return blob;

	blob_data = blob->data;
	blob_data->version = FORMAT_BLOB_CURRENT;