summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEric Anholt <eric@anholt.net>2017-01-17 21:58:06 +1100
committerEric Anholt <eric@anholt.net>2017-01-17 22:06:01 +1100
commit6b8ac63847bc2f958dd93c09edc941a0118992d9 (patch)
treed31e0103c67cb68ac11065598808627c1c76ea5c
parent0f2ff82e11c86c05d051cae32b58226392d33bbf (diff)
downloadblackbird-op-linux-6b8ac63847bc2f958dd93c09edc941a0118992d9.tar.gz
blackbird-op-linux-6b8ac63847bc2f958dd93c09edc941a0118992d9.zip
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 <mingo@kernel.org> Signed-off-by: Eric Anholt <eric@anholt.net> Fixes: d5b1a78a772f ("drm/vc4: Add support for drawing 3D frames.")
-rw-r--r--drivers/gpu/drm/vc4/vc4_gem.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/gpu/drm/vc4/vc4_gem.c b/drivers/gpu/drm/vc4/vc4_gem.c
index c5fe3554858e..ab3016982466 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;
}
OpenPOWER on IntegriCloud