Revert "drm/amdgpu: validate user GEM object size"
authorAlex Deucher <alexander.deucher@amd.com>
Thu, 10 Jan 2019 11:16:57 +0000 (12:16 +0100)
committerAlex Deucher <alexander.deucher@amd.com>
Tue, 15 Jan 2019 16:14:21 +0000 (11:14 -0500)
It was at the same time too strict (for linear tiling modes, where no
height alignment is required) and too lenient (for 2D tiling modes,
where height may need to be aligned to values > 8).

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_display.c

index dafc645b2e4ee5e18afe3615d79a691650e57fbd..cb72d9675ab18600197b32c30a5298f1369307ca 100644 (file)
@@ -531,7 +531,6 @@ amdgpu_display_user_framebuffer_create(struct drm_device *dev,
        struct drm_gem_object *obj;
        struct amdgpu_framebuffer *amdgpu_fb;
        int ret;
-       int height;
        struct amdgpu_device *adev = dev->dev_private;
        int cpp = drm_format_plane_cpp(mode_cmd->pixel_format, 0);
        int pitch = mode_cmd->pitches[0] / cpp;
@@ -556,13 +555,6 @@ amdgpu_display_user_framebuffer_create(struct drm_device *dev,
                return ERR_PTR(-EINVAL);
        }
 
-       height = ALIGN(mode_cmd->height, 8);
-       if (obj->size < pitch * height) {
-               DRM_DEBUG_KMS("Invalid GEM size: expecting >= %d but got %zu\n",
-                             pitch * height, obj->size);
-               return ERR_PTR(-EINVAL);
-       }
-
        amdgpu_fb = kzalloc(sizeof(*amdgpu_fb), GFP_KERNEL);
        if (amdgpu_fb == NULL) {
                drm_gem_object_put_unlocked(obj);