[PATCH 2/2] drm/vc4: Stop the active perfmon before being destroyed
Maíra Canal
mcanal at igalia.com
Mon Oct 7 13:12:02 UTC 2024
On 10/4/24 09:36, Maíra Canal wrote:
> Upon closing the file descriptor, the active performance monitor is not
> stopped. Although all perfmons are destroyed in `vc4_perfmon_close_file()`,
> the active performance monitor's pointer (`vc4->active_perfmon`) is still
> retained.
>
> If we open a new file descriptor and submit a few jobs with performance
> monitors, the driver will attempt to stop the active performance monitor
> using the stale pointer in `vc4->active_perfmon`. However, this pointer
> is no longer valid because the previous process has already terminated,
> and all performance monitors associated with it have been destroyed and
> freed.
>
> To fix this, when the active performance monitor belongs to a given
> process, explicitly stop it before destroying and freeing it.
>
> Cc: <stable at vger.kernel.org> # v4.17+
> Cc: Boris Brezillon <bbrezillon at kernel.org>
> Cc: Juan A. Suarez Romero <jasuarez at igalia.com>
> Fixes: 65101d8c9108 ("drm/vc4: Expose performance counters to userspace")
> Signed-off-by: Maíra Canal <mcanal at igalia.com>
> ---
> drivers/gpu/drm/vc4/vc4_perfmon.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
Applied to misc/kernel.git (drm-misc-fixes).
Best Regards,
- Maíra
More information about the dri-devel
mailing list