xe_file_close cleanups the xarrays but forgets
to destroy them causing a memleak in xarray internals.
Found with kmemleak.
Signed-off-by: Mika Kuoppala <mika.kuoppala@linux.intel.com>
Reviewed-by: Christoph Manszewski <christoph.manszewski@intel.com>
Reviewed-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
xe_engine_put(e);
}
mutex_unlock(&xef->engine.lock);
+ xa_destroy(&xef->engine.xa);
mutex_destroy(&xef->engine.lock);
device_kill_persistent_engines(xe, xef);
xa_for_each(&xef->vm.xa, idx, vm)
xe_vm_close_and_put(vm);
mutex_unlock(&xef->vm.lock);
+ xa_destroy(&xef->vm.xa);
mutex_destroy(&xef->vm.lock);
kfree(xef);