From 60ffcfe6a98db7a1b3e1e3f6a001234e9a0ab071 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marek=20Ol=C5=A1=C3=A1k?= Date: Mon, 9 Nov 2020 16:20:13 -0500 Subject: [PATCH] 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 Part-of: (cherry picked from commit 0d007349f910970ac14b20415fe76a84fd0f8fd5) --- .pick_status.json | 2 +- src/mesa/state_tracker/st_glsl_to_nir.cpp | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/.pick_status.json b/.pick_status.json index 5b35ac1d24d..34ecce0ab42 100644 --- a/.pick_status.json +++ b/.pick_status.json @@ -1327,7 +1327,7 @@ "description": "st/mesa: fix use-after-free when updating shader info in st_link_nir", "nominated": true, "nomination_type": 1, - "resolution": 0, + "resolution": 1, "master_sha": null, "because_sha": "549ae5f84375dfadb86cfd465f0103acfae3249f" }, 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;