From: Eric Anholt Date: Tue, 17 Jan 2017 10:58:06 +0000 (+1100) Subject: drm/vc4: Return -EINVAL on the overflow checks failing. X-Git-Tag: v4.14-rc1~1639^2~4^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6b8ac63847bc2f958dd93c09edc941a0118992d9;p=platform%2Fkernel%2Flinux-rpi.git drm/vc4: Return -EINVAL on the overflow checks failing. By failing to set the errno, we'd continue on to trying to set up the RCL, and then oops on trying to dereference the tile_bo that binning validation should have set up. Reported-by: Ingo Molnar Signed-off-by: Eric Anholt Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.") --- diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c index c5fe355..ab30169 100644 --- a/drivers/gpu/drm/vc4/vc4_gem.c +++ b/drivers/gpu/drm/vc4/vc4_gem.c @@ -601,6 +601,7 @@ vc4_get_bcl(struct drm_device *dev, struct vc4_exec_info *exec) sizeof(struct vc4_shader_state)) || temp_size < exec_size) { DRM_ERROR("overflow in exec arguments\n"); + ret = -EINVAL; goto fail; }