tu: Fix double free of timestamp_copy_data->trace

Instead of leaving timestamp_copy_data half-initialized in
copy_timestamp_cs_pool - always have it fully initialized and valid
state there.

Signed-off-by: Danylo Piliaiev <dpiliaiev@igalia.com>
Part-of: <https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/41438>
This commit is contained in:
Danylo Piliaiev 2026-05-08 12:22:22 +02:00 committed by Marge Bot
parent 4c83425519
commit 5f48aba9fa

View file

@ -2375,11 +2375,10 @@ tu_create_copy_timestamp_cs(struct tu_u_trace_submission_data *submission_data,
tu_cs_init(&submission_data->timestamp_copy_data->cs, device,
TU_CS_MODE_GROW, cs_size, "trace copy timestamp cs");
u_trace_init(&submission_data->timestamp_copy_data->trace,
&device->trace_context);
}
u_trace_init(&submission_data->timestamp_copy_data->trace,
&device->trace_context);
tu_cs *cs = &submission_data->timestamp_copy_data->cs;
tu_cs_begin(cs);
@ -2492,6 +2491,8 @@ tu_u_trace_submission_data_finish(
if (u_trace_enabled(&device->trace_context)) {
tu_cs_reset(&submission_data->timestamp_copy_data->cs);
u_trace_fini(&submission_data->timestamp_copy_data->trace);
u_trace_init(&submission_data->timestamp_copy_data->trace,
&device->trace_context);
mtx_lock(&device->copy_timestamp_cs_pool_mutex);
list_addtail(&submission_data->timestamp_copy_data->node,