{
        struct i915_gpu_error *global = >->i915->gpu_error;
        struct intel_engine_cs *engine, *other;
+       struct active_engine *threads;
        enum intel_engine_id id, tmp;
        struct hang h;
        int err = 0;
                        h.ctx->sched.priority = 1024;
        }
 
+       threads = kmalloc_array(I915_NUM_ENGINES, sizeof(*threads), GFP_KERNEL);
+       if (!threads)
+               return -ENOMEM;
+
        for_each_engine(engine, gt, id) {
-               struct active_engine threads[I915_NUM_ENGINES] = {};
                unsigned long device = i915_reset_count(global);
                unsigned long count = 0, reported;
                bool using_guc = intel_engine_uses_guc(engine);
                        break;
                }
 
-               memset(threads, 0, sizeof(threads));
+               memset(threads, 0, sizeof(*threads) * I915_NUM_ENGINES);
                for_each_engine(other, gt, tmp) {
                        struct task_struct *tsk;
 
                        break;
                }
        }
+       kfree(threads);
 
        if (intel_gt_is_wedged(gt))
                err = -EIO;