From: sashiko-bot@kernel.org
To: "Adrián Larumbe" <adrian.larumbe@collabora.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH v13 10/15] drm/panfrost: Add debugfs knob for manually triggering a GPU reset
Date: Thu, 08 Oct 2026 00:00:00 +0000 [thread overview]
Message-ID: <sashiko-outbox-163446@kernel.org> (raw)
In-Reply-To: <20261008-claude-fixes-v13-10-d6a493185860@collabora.com>
Thank you for your contribution! Sashiko AI review found 1 potential issue(s) to consider:
- [High] drm/panfrost: UAF in reset work due to incorrect teardown order
--
commit cfa26c5946307af48b39c322e0d8f2fd03c46e05
Author: Adrián Larumbe <adrian.larumbe@collabora.com>
drm/panfrost: Add debugfs knob for manually triggering a GPU reset
This patch adds a debugfs knob to manually trigger a GPU reset for testing
purposes. It also updates the teardown path to disable rather than cancel
the reset work to prevent the knob from triggering resets during device removal.
> diff --git a/drivers/gpu/drm/panfrost/panfrost_job.c b/drivers/gpu/drm/panfrost/panfrost_job.c
> index 00fb36c577df7..ab65786bf63bc 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_job.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_job.c
> @@ -932,7 +932,7 @@ void panfrost_jm_fini(struct panfrost_device *pfdev)
> drm_sched_fini(&js->queue[j].sched);
> }
>
> - cancel_work_sync(&pfdev->reset.work);
> + disable_work_sync(&pfdev->reset.work);
[Severity: High]
Does this teardown order leave a window for a use-after-free if a reset is
triggered during unbinding?
In panfrost_jm_fini(), the DRM schedulers are destroyed via drm_sched_fini()
before the asynchronous reset work is disabled. The drm_sched_fini() function
tears down the scheduler, destroying sched->submit_wq and freeing
sched->sched_rq.
If a GPU reset is scheduled right before or during driver unbinding (for
example, by writing to the newly introduced debugfs reset knob), the reset
work can run asynchronously while panfrost_jm_fini() executes. The reset
work calls drm_sched_stop() and drm_sched_start(), which ultimately queues
work onto the scheduler's now-destroyed submit_wq, leading to a crash.
Should disable_work_sync() be called before the loop that destroys the DRM
schedulers?
--
Sashiko AI review · https://sashiko.dev/#/patchset/20261008-claude-fixes-v13-0-d6a493185860@collabora.com?part=10
next prev parent reply other threads:[~2026-10-08 0:00 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-07 23:42 [PATCH v13 00/15] Collection of fixes for Panfrost: Perfcnt, RPM, refactorings Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 01/15] drm/panfrost: Move shrinker initialization and unplug one level down Adrián Larumbe
2026-10-08 16:46 ` kernel test robot
2026-10-07 23:42 ` [PATCH v13 02/15] drm/panfrost: Move lock and modparam initialisations into their subsystems Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 03/15] drm/panfrost: Move debugfs initialisation to relevant subsystems Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 04/15] drm/panfrost: Skip NULL checks for clock enable/disabling Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 05/15] drm/panfrost: Consolidate device clock management and reset Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 06/15] drm/panfrost: Fix PM refcnt and autosuspend issues at device probe/remove Adrián Larumbe
2026-10-07 23:55 ` sashiko-bot
2026-10-07 23:42 ` [PATCH v13 07/15] drm/panfrost: Explicitly enable MMU interrupts at device init Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 08/15] drm/panfrost: Move all DRM device initialisation into device_init() Adrián Larumbe
2026-10-07 23:54 ` sashiko-bot
2026-10-07 23:42 ` [PATCH v13 09/15] drm/panfrost: Warn of RPM get failure at device remove time Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 10/15] drm/panfrost: Add debugfs knob for manually triggering a GPU reset Adrián Larumbe
2026-10-08 0:00 ` sashiko-bot [this message]
2026-10-07 23:42 ` [PATCH v13 11/15] drm/panfrost: Move perfcnt GPU disable sequence into a helper Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 12/15] drm/panfrost: Skip cache flush/invalidate when enabling perfcnt Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 13/15] drm/panfrost: Avoid cache flush after perfcnt sample in fully coherent systems Adrián Larumbe
2026-10-07 23:55 ` sashiko-bot
2026-10-07 23:42 ` [PATCH v13 14/15] drm/panfrost: Introduce a reset lock Adrián Larumbe
2026-10-07 23:42 ` [PATCH v13 15/15] drm/panfrost: Fix races between perfcnt and reset sequence Adrián Larumbe
2026-10-07 23:58 ` sashiko-bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=sashiko-outbox-163446@kernel.org \
--to=sashiko-bot@kernel.org \
--cc=adrian.larumbe@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=sashiko-reviews@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox