[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