Revert "drm/amdgpu: validate user GEM object size"

Submitted by Michel Dänzer on Jan. 10, 2019, 11:21 a.m.

Details

Message ID 20190110112121.4606-1-michel@daenzer.net
State Accepted
Series "Revert "drm/amdgpu: validate user GEM object size""
Commit 25ec429e86bb790e40387a550f0501d0ac55a47c
Headers show

Commit Message

Michel Dänzer Jan. 10, 2019, 11:21 a.m.
From: Michel Dänzer <michel.daenzer@amd.com>

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).

Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>
---
 drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 8 --------
 1 file changed, 8 deletions(-)

Patch hide | download patch | download mbox

diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
index 83f821e993c8..70a816dd8b4d 100644
--- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
+++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
@@ -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);

Comments

Alex Deucher Jan. 10, 2019, 2:28 p.m.
On Thu, Jan 10, 2019 at 6:21 AM Michel Dänzer <michel@daenzer.net> wrote:
>
> From: Michel Dänzer <michel.daenzer@amd.com>
>
> 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).
>
> Signed-off-by: Michel Dänzer <michel.daenzer@amd.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_display.c | 8 --------
>  1 file changed, 8 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> index 83f821e993c8..70a816dd8b4d 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_display.c
> @@ -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);
> --
> 2.20.1
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx