drm/i915: Sanity check user framebuffer parameters on creation
Signed-off-by: Chris Wilson <chris@chris-wilson.co.uk>
This commit is contained in:
parent
763a4a0191
commit
57cd6508da
|
@ -5371,8 +5371,25 @@ int intel_framebuffer_init(struct drm_device *dev,
|
|||
struct drm_mode_fb_cmd *mode_cmd,
|
||||
struct drm_gem_object *obj)
|
||||
{
|
||||
struct drm_i915_gem_object *obj_priv = to_intel_bo(obj);
|
||||
int ret;
|
||||
|
||||
if (obj_priv->tiling_mode == I915_TILING_Y)
|
||||
return -EINVAL;
|
||||
|
||||
if (mode_cmd->pitch & 63)
|
||||
return -EINVAL;
|
||||
|
||||
switch (mode_cmd->bpp) {
|
||||
case 8:
|
||||
case 16:
|
||||
case 24:
|
||||
case 32:
|
||||
break;
|
||||
default:
|
||||
return -EINVAL;
|
||||
}
|
||||
|
||||
ret = drm_framebuffer_init(dev, &intel_fb->base, &intel_fb_funcs);
|
||||
if (ret) {
|
||||
DRM_ERROR("framebuffer init failed %d\n", ret);
|
||||
|
|
Loading…
Reference in a new issue