lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c00c6436-8abf-4b8d-a5a1-dfcab45b6f7d@igalia.com>
Date: Fri, 22 Nov 2024 08:59:41 -0300
From: Maíra Canal <mcanal@...lia.com>
To: Christian Gmeiner <christian.gmeiner@...il.com>,
 Melissa Wen <mwen@...lia.com>,
 Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>,
 Maxime Ripard <mripard@...nel.org>, Thomas Zimmermann <tzimmermann@...e.de>,
 David Airlie <airlied@...il.com>, Simona Vetter <simona@...ll.ch>,
 "Juan A. Suarez Romero" <jasuarez@...lia.com>
Cc: kernel-dev@...lia.com, Christian Gmeiner <cgmeiner@...lia.com>,
 stable@...r.kernel.org, dri-devel@...ts.freedesktop.org,
 linux-kernel@...r.kernel.org
Subject: Re: [PATCH] drm/v3d: Stop active perfmon if it is being destroyed

Hi Christian,

On 18/11/24 19:19, Christian Gmeiner wrote:
> From: Christian Gmeiner <cgmeiner@...lia.com>
> 
> If the active performance monitor (v3d->active_perfmon) is being
> destroyed, stop it first. Currently, the active perfmon is not
> stopped during destruction, leaving the v3d->active_perfmon pointer
> stale. This can lead to undefined behavior and instability.
> 
> This patch ensures that the active perfmon is stopped before being
> destroyed, aligning with the behavior introduced in commit
> 7d1fd3638ee3 ("drm/v3d: Stop the active perfmon before being destroyed").
> 
> Cc: stable@...r.kernel.org # v5.15+
> Fixes: 26a4dc29b74a ("drm/v3d: Expose performance counters to userspace")
> Signed-off-by: Christian Gmeiner <cgmeiner@...lia.com>

Applied to misc/kernel.git (drm-misc-next).

Maxime, Thomas, if possible, could you cherry-pick this commit to be 
included in 6.13? Thanks!

Best Regards,
- Maíra

> ---
>   drivers/gpu/drm/v3d/v3d_perfmon.c | 5 +++++
>   1 file changed, 5 insertions(+)
> 
> diff --git a/drivers/gpu/drm/v3d/v3d_perfmon.c b/drivers/gpu/drm/v3d/v3d_perfmon.c
> index 00cd081d7873..909288d43f2f 100644
> --- a/drivers/gpu/drm/v3d/v3d_perfmon.c
> +++ b/drivers/gpu/drm/v3d/v3d_perfmon.c
> @@ -383,6 +383,7 @@ int v3d_perfmon_destroy_ioctl(struct drm_device *dev, void *data,
>   {
>   	struct v3d_file_priv *v3d_priv = file_priv->driver_priv;
>   	struct drm_v3d_perfmon_destroy *req = data;
> +	struct v3d_dev *v3d = v3d_priv->v3d;
>   	struct v3d_perfmon *perfmon;
>   
>   	mutex_lock(&v3d_priv->perfmon.lock);
> @@ -392,6 +393,10 @@ int v3d_perfmon_destroy_ioctl(struct drm_device *dev, void *data,
>   	if (!perfmon)
>   		return -EINVAL;
>   
> +	/* If the active perfmon is being destroyed, stop it first */
> +	if (perfmon == v3d->active_perfmon)
> +		v3d_perfmon_stop(v3d, perfmon, false);
> +
>   	v3d_perfmon_put(perfmon);
>   
>   	return 0;


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ