mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/chenhuacai/linux-loongson
synced 2025-09-01 15:14:52 +00:00
drm/panthor: Fix race condition when gathering fdinfo group samples
Commite16635d88f
("drm/panthor: add DRM fdinfo support") failed to protect access to groups with an xarray lock, which could lead to use-after-free errors. Fixes:e16635d88f
("drm/panthor: add DRM fdinfo support") Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com> Reviewed-by: Steven Price <steven.price@arm.com> Signed-off-by: Adrián Larumbe <adrian.larumbe@collabora.com> Signed-off-by: Boris Brezillon <boris.brezillon@collabora.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250130172851.941597-6-adrian.larumbe@collabora.com Link: https://patchwork.freedesktop.org/patch/msgid/20250107173310.88329-1-florent.tomasin@arm.com
This commit is contained in:
parent
f780ef56f7
commit
0590c94c35
@ -2878,6 +2878,7 @@ void panthor_fdinfo_gather_group_samples(struct panthor_file *pfile)
|
||||
if (IS_ERR_OR_NULL(gpool))
|
||||
return;
|
||||
|
||||
xa_lock(&gpool->xa);
|
||||
xa_for_each(&gpool->xa, i, group) {
|
||||
mutex_lock(&group->fdinfo.lock);
|
||||
pfile->stats.cycles += group->fdinfo.data.cycles;
|
||||
@ -2886,6 +2887,7 @@ void panthor_fdinfo_gather_group_samples(struct panthor_file *pfile)
|
||||
group->fdinfo.data.time = 0;
|
||||
mutex_unlock(&group->fdinfo.lock);
|
||||
}
|
||||
xa_unlock(&gpool->xa);
|
||||
}
|
||||
|
||||
static void group_sync_upd_work(struct work_struct *work)
|
||||
|
Loading…
Reference in New Issue
Block a user