From: Greg Kroah-Hartman Date: Wed, 9 Apr 2025 10:37:25 +0000 (+0200) Subject: drop queue-6.13/drm-panthor-replace-sleep-locks-with-spinlocks-in-fdinfo-path.patch X-Git-Tag: v5.4.292~4 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=be0367758bbc0cb31dbdf14c46262e193dd5e0e6;p=thirdparty%2Fkernel%2Fstable-queue.git drop queue-6.13/drm-panthor-replace-sleep-locks-with-spinlocks-in-fdinfo-path.patch broke the build --- diff --git a/queue-6.13/drm-panthor-replace-sleep-locks-with-spinlocks-in-fdinfo-path.patch b/queue-6.13/drm-panthor-replace-sleep-locks-with-spinlocks-in-fdinfo-path.patch deleted file mode 100644 index 2218ae9d36..0000000000 --- a/queue-6.13/drm-panthor-replace-sleep-locks-with-spinlocks-in-fdinfo-path.patch +++ /dev/null @@ -1,87 +0,0 @@ -From e379856b428acafb8ed689f31d65814da6447b2e Mon Sep 17 00:00:00 2001 -From: =?UTF-8?q?Adri=C3=A1n=20Larumbe?= -Date: Mon, 3 Mar 2025 19:08:45 +0000 -Subject: drm/panthor: Replace sleep locks with spinlocks in fdinfo path -MIME-Version: 1.0 -Content-Type: text/plain; charset=UTF-8 -Content-Transfer-Encoding: 8bit - -From: Adrián Larumbe - -commit e379856b428acafb8ed689f31d65814da6447b2e upstream. - -Commit 0590c94c3596 ("drm/panthor: Fix race condition when gathering fdinfo -group samples") introduced an xarray lock to deal with potential -use-after-free errors when accessing groups fdinfo figures. However, this -toggles the kernel's atomic context status, so the next nested mutex lock -will raise a warning when the kernel is compiled with mutex debug options: - -CONFIG_DEBUG_RT_MUTEXES=y -CONFIG_DEBUG_MUTEXES=y - -Replace Panthor's group fdinfo data mutex with a guarded spinlock. - -Signed-off-by: Adrián Larumbe -Fixes: 0590c94c3596 ("drm/panthor: Fix race condition when gathering fdinfo group samples") -Reviewed-by: Liviu Dudau -Reviewed-by: Boris Brezillon -Reviewed-by: Steven Price -Signed-off-by: Steven Price -Link: https://patchwork.freedesktop.org/patch/msgid/20250303190923.1639985-1-adrian.larumbe@collabora.com -Signed-off-by: Greg Kroah-Hartman ---- - drivers/gpu/drm/panthor/panthor_sched.c | 18 ++++++++---------- - 1 file changed, 8 insertions(+), 10 deletions(-) - ---- a/drivers/gpu/drm/panthor/panthor_sched.c -+++ b/drivers/gpu/drm/panthor/panthor_sched.c -@@ -9,6 +9,7 @@ - #include - - #include -+#include - #include - #include - #include -@@ -900,8 +901,6 @@ static void group_release_work(struct wo - release_work); - u32 i; - -- mutex_destroy(&group->fdinfo.lock); -- - for (i = 0; i < group->queue_count; i++) - group_free_queue(group, group->queues[i]); - -@@ -2845,12 +2844,12 @@ static void update_fdinfo_stats(struct p - struct panthor_job_profiling_data *slots = queue->profiling.slots->kmap; - struct panthor_job_profiling_data *data = &slots[job->profiling.slot]; - -- mutex_lock(&group->fdinfo.lock); -- if (job->profiling.mask & PANTHOR_DEVICE_PROFILING_CYCLES) -- fdinfo->cycles += data->cycles.after - data->cycles.before; -- if (job->profiling.mask & PANTHOR_DEVICE_PROFILING_TIMESTAMP) -- fdinfo->time += data->time.after - data->time.before; -- mutex_unlock(&group->fdinfo.lock); -+ scoped_guard(spinlock, &group->fdinfo.lock) { -+ if (job->profiling.mask & PANTHOR_DEVICE_PROFILING_CYCLES) -+ fdinfo->cycles += data->cycles.after - data->cycles.before; -+ if (job->profiling.mask & PANTHOR_DEVICE_PROFILING_TIMESTAMP) -+ fdinfo->time += data->time.after - data->time.before; -+ } - } - - void panthor_fdinfo_gather_group_samples(struct panthor_file *pfile) -@@ -2864,12 +2863,11 @@ void panthor_fdinfo_gather_group_samples - - xa_lock(&gpool->xa); - xa_for_each(&gpool->xa, i, group) { -- mutex_lock(&group->fdinfo.lock); -+ guard(spinlock)(&group->fdinfo.lock); - pfile->stats.cycles += group->fdinfo.data.cycles; - pfile->stats.time += group->fdinfo.data.time; - group->fdinfo.data.cycles = 0; - group->fdinfo.data.time = 0; -- mutex_unlock(&group->fdinfo.lock); - } - xa_unlock(&gpool->xa); - } diff --git a/queue-6.13/series b/queue-6.13/series index 900707ff77..9e78c79292 100644 --- a/queue-6.13/series +++ b/queue-6.13/series @@ -497,7 +497,6 @@ nfsd-nfsd_unlink-clobbers-non-zero-status-returned-from-fh_fill_pre_attrs.patch nfsd-never-return-nfs4err_file_open-when-removing-a-directory.patch nfsd-skip-sending-cb_recall_any-when-the-backchannel-isn-t-up.patch asoc-cs42l43-convert-to-system_sleep_pm_ops.patch -drm-panthor-replace-sleep-locks-with-spinlocks-in-fdinfo-path.patch platform-x86-amd-pmf-fix-cleanup-in-amd_pmf_init_smart_pc.patch arm-9443-1-require-linker-to-support-keep-within-overlay-for-dce.patch tracing-do-not-use-perf-enums-when-perf-is-not-defined.patch