[PATCH v2 00/17] drm/panthor: Fix the unplug logic
From: Boris Brezillon
Date: Tue Aug 11 2026 - 06:18:27 EST
The current unplug logic is broken in multiple ways. This is an attempt
at addressing the various problems found along the way (some were
reported by Sashiko, others have been found while trying to address
Sashiko's concerns).
Signed-off-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>
---
Changes in v2:
- Fix UAFs caused by deferred cleanup works
- Fix UAFs caused by open FDs closed after unplug
- Fix deadlock when device_unplug() is called from the reset work
- Make sure reset requests are not lost in the resume and post_reset
paths
- Fix a deadlock in the suspend path
- Fix a clk prepare_enable leak in the unplug path
- Don't use a drmm_action to flush the cleanup queue (this could cause
UAFs)
- Drop the now unused panthor_vm::unusable field
- Keep track of user owned resources to prevent leaks and/or UAFs
- Link to v1: https://patch.msgid.link/20260804-panthor-unplug-fixes-v1-0-abbbd2d41b13@xxxxxxxxxxxxx
---
Boris Brezillon (17):
drm/panthor: Disable reset work before unplug
drm/panthor: Further delay reset work enablement
drm/panthor: Make sure reset requests in the resume path are not lost
drm/panthor: Make sure reset requests in the post reset path are not lost
drm/panthor: Flush the cleanup_wq in the unplug path
drm/panthor: Drop unused vm argument passed to panthor_vm_prepare_sync_only_op_ctx()
drm/panthor: Move the debugfs initialization to panthor_device.c
drm/panthor: Split panthor_vm
drm/panthor: Add fine-grained restrictions on VMs
drm/panthor: Check AS state before disabling
drm/panthor: Don't pre-allocate VMAs or page tables when preparing a full VM unmap
drm/panthor: Make the VM cleanup path more robust against UAF
drm/panthor: Track user owned VMs
drm/panthor: Track user owned groups
drm/panthor: Fix the unplug logic
drm/panthor: Add a debugfs knob to simulate unplug failures
drm/panthor: Add a debugfs knobs to simulate reset failures
drivers/gpu/drm/panthor/panthor_device.c | 175 +++-
drivers/gpu/drm/panthor/panthor_device.h | 38 +
drivers/gpu/drm/panthor/panthor_drv.c | 124 ++-
drivers/gpu/drm/panthor/panthor_fw.c | 9 +-
drivers/gpu/drm/panthor/panthor_mmu.c | 1453 ++++++++++++++++++------------
drivers/gpu/drm/panthor/panthor_mmu.h | 1 +
drivers/gpu/drm/panthor/panthor_sched.c | 128 ++-
7 files changed, 1284 insertions(+), 644 deletions(-)
---
base-commit: 44e9eb5a762142a4aa46c0b5da7c39bfeb78910e
change-id: 20260804-panthor-unplug-fixes-7927b3ddc2f9
Best regards,
--
Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx>