From: Ville Syrjälä <[email protected]> Reject dumb buffers that exceed the declared maximum framebuffer size. Such a buffer would anyway get rejected later, assuming it got fully wrapped into a framebuffer.
Cc: Daniel Stone <[email protected]> Signed-off-by: Ville Syrjälä <[email protected]> --- drivers/gpu/drm/i915/display/intel_plane.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/i915/display/intel_plane.c b/drivers/gpu/drm/i915/display/intel_plane.c index f12f8300a7c4..3325d1bc9666 100644 --- a/drivers/gpu/drm/i915/display/intel_plane.c +++ b/drivers/gpu/drm/i915/display/intel_plane.c @@ -1709,9 +1709,16 @@ int intel_plane_atomic_check(struct intel_atomic_state *state) int intel_plane_dumb_create(struct intel_display *display, struct drm_mode_create_dumb *args) { + const struct drm_mode_config *mode_config = &display->drm->mode_config; int cpp = DIV_ROUND_UP(args->bpp, 8); u32 format; + if (args->width > mode_config->max_width) + return -EINVAL; + + if (args->height > mode_config->max_height) + return -EINVAL; + switch (cpp) { case 1: format = DRM_FORMAT_C8; -- 2.49.1
