freedreno: Fix leak of shader binary on disk cache hits.

It's supposed to be ralloced -- there's not even a shader variant destroy
function for freeing, just ralloc_free() on the ir3_shader_variant or the
parent ir3_shader when you're done!

Fixes: f97acb4bb4b1 ("freedreno/ir3: disk-cache support")
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/5810>
(cherry picked from commit 433841d9eb7cd9dd5e00b2f47cd998e0e986ef02)
diff --git a/.pick_status.json b/.pick_status.json
index 55f0013..bb87d24 100644
--- a/.pick_status.json
+++ b/.pick_status.json
@@ -544,7 +544,7 @@
         "description": "freedreno: Fix leak of shader binary on disk cache hits.",
         "nominated": true,
         "nomination_type": 1,
-        "resolution": 0,
+        "resolution": 1,
         "master_sha": null,
         "because_sha": "f97acb4bb4b18f127b62aa8eeb57cdf3d8fe3aa2"
     },
diff --git a/src/freedreno/ir3/ir3_disk_cache.c b/src/freedreno/ir3/ir3_disk_cache.c
index a2249f2..7872671 100644
--- a/src/freedreno/ir3/ir3_disk_cache.c
+++ b/src/freedreno/ir3/ir3_disk_cache.c
@@ -126,7 +126,7 @@
 	 * pointers need special handling:
 	 */
 
-	v->bin = malloc(4 * v->info.sizedwords);
+	v->bin = rzalloc_size(v, 4 * v->info.sizedwords);
 	blob_copy_bytes(blob, v->bin, 4 * v->info.sizedwords);
 
 	if (!v->binning_pass) {