From 15a1ceb127b70ac98b03cae051927f75fb7ee204 Mon Sep 17 00:00:00 2001 From: "Wladimir J. van der Laan" Date: Sun, 23 Jul 2017 13:24:39 +0200 Subject: [PATCH] etnaviv: Clear lbl_usage array correctly Fill the entire array instead of just a quarter. This avoids crashes with large shaders. (currently this never causes a problem because shaders larger than 2048/4 instructions are not supported by this driver on any hardware, but it will cause problems in the future) Fixes: ec436051899 ("etnaviv: fix shader miscompilation with more than 16 labels") Cc: mesa-stable@lists.freedesktop.org Signed-off-by: Wladimir J. van der Laan Reviewed-by: Christian Gmeiner --- src/gallium/drivers/etnaviv/etnaviv_compiler.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/gallium/drivers/etnaviv/etnaviv_compiler.c b/src/gallium/drivers/etnaviv/etnaviv_compiler.c index cc6bfc9425d..165ab74298a 100644 --- a/src/gallium/drivers/etnaviv/etnaviv_compiler.c +++ b/src/gallium/drivers/etnaviv/etnaviv_compiler.c @@ -2353,7 +2353,7 @@ etna_compile_shader(struct etna_shader_variant *v) if (!c) return false; - memset(&c->lbl_usage, -1, ARRAY_SIZE(c->lbl_usage)); + memset(&c->lbl_usage, -1, sizeof(c->lbl_usage)); const struct tgsi_token *tokens = v->shader->tokens; -- 2.30.2