drm/vc4: Return -EINVAL on the overflow checks failing.
authorEric Anholt <eric@anholt.net>
Tue, 17 Jan 2017 20:20:50 +0000 (07:20 +1100)
committerBen Hutchings <ben@decadent.org.uk>
Sat, 28 Jan 2017 16:11:16 +0000 (16:11 +0000)
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 <mingo@kernel.org>
Signed-off-by: Eric Anholt <eric@anholt.net>
Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
Gbp-Pq: Topic bugfix/arm/drm
Gbp-Pq: Name vc4-return-einval-on-the-overflow-checks-failing.patch

drivers/gpu/drm/vc4/vc4_gem.c

index 39ef6743d3b84e02160e8230c69da91e505a01f3..18e37171e9c8e2f0729ca1c582af98ccb4647e06 100644 (file)
@@ -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;
        }