Mesa (master): st/mesa: fix use-after-free when updating shader info in st_link_nir

GitLab Mirror gitlab-mirror at kemper.freedesktop.org
Tue Nov 10 17:57:41 UTC 2020


Module: Mesa
Branch: master
Commit: 0d007349f910970ac14b20415fe76a84fd0f8fd5
URL:    http://cgit.freedesktop.org/mesa/mesa/commit/?id=0d007349f910970ac14b20415fe76a84fd0f8fd5

Author: Marek Olšák <marek.olsak at amd.com>
Date:   Mon Nov  9 16:20:13 2020 -0500

st/mesa: fix use-after-free when updating shader info in st_link_nir

Fixes: 549ae5f8 "st/mesa: make sure prog->info is up to date for NIR (v2)"

Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3756
Closes: https://gitlab.freedesktop.org/mesa/mesa/-/issues/3685

Reviewed-by: Pierre-Eric Pelloux-Prayer <pierre-eric.pelloux-prayer at amd.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/7516>

---

 src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 ++
 1 file changed, 2 insertions(+)

diff --git a/src/mesa/state_tracker/st_glsl_to_nir.cpp b/src/mesa/state_tracker/st_glsl_to_nir.cpp
index 8c835e54bfe..d483d526cc9 100644
--- a/src/mesa/state_tracker/st_glsl_to_nir.cpp
+++ b/src/mesa/state_tracker/st_glsl_to_nir.cpp
@@ -834,6 +834,8 @@ st_link_nir(struct gl_context *ctx,
        */
       shader_info old_info = prog->info;
       prog->info = prog->nir->info;
+      prog->info.name = old_info.name;
+      prog->info.label = old_info.label;
       prog->info.num_ssbos = old_info.num_ssbos;
       prog->info.num_ubos = old_info.num_ubos;
       prog->info.num_abos = old_info.num_abos;



More information about the mesa-commit mailing list