mirror of https://lore.kernel.org/lkml/
 help / color / mirror / Atom feed
* [PATCH v2 00/17] drm/panthor: Fix the unplug logic
@ 2026-08-11 10:17 Boris Brezillon
  2026-08-11 10:17 ` [PATCH v2 01/17] drm/panthor: Disable reset work before unplug Boris Brezillon
                   ` (16 more replies)
  0 siblings, 17 replies; 18+ messages in thread
From: Boris Brezillon @ 2026-08-11 10:17 UTC (permalink / raw)
  To: Steven Price, Liviu Dudau
  Cc: Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
	David Airlie, Simona Vetter, dri-devel, linux-kernel,
	Boris Brezillon, sashiko-bot

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@collabora.com>
---
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@collabora.com

---
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@collabora.com>


^ permalink raw reply	[flat|nested] 18+ messages in thread

end of thread, other threads:[~2026-08-11 10:18 UTC | newest]

Thread overview: 18+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2026-08-11 10:17 [PATCH v2 00/17] drm/panthor: Fix the unplug logic Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 01/17] drm/panthor: Disable reset work before unplug Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 02/17] drm/panthor: Further delay reset work enablement Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 03/17] drm/panthor: Make sure reset requests in the resume path are not lost Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 04/17] drm/panthor: Make sure reset requests in the post reset " Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 05/17] drm/panthor: Flush the cleanup_wq in the unplug path Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 06/17] drm/panthor: Drop unused vm argument passed to panthor_vm_prepare_sync_only_op_ctx() Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 07/17] drm/panthor: Move the debugfs initialization to panthor_device.c Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 08/17] drm/panthor: Split panthor_vm Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 09/17] drm/panthor: Add fine-grained restrictions on VMs Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 10/17] drm/panthor: Check AS state before disabling Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 11/17] drm/panthor: Don't pre-allocate VMAs or page tables when preparing a full VM unmap Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 12/17] drm/panthor: Make the VM cleanup path more robust against UAF Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 13/17] drm/panthor: Track user owned VMs Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 14/17] drm/panthor: Track user owned groups Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 15/17] drm/panthor: Fix the unplug logic Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 16/17] drm/panthor: Add a debugfs knob to simulate unplug failures Boris Brezillon
2026-08-11 10:17 ` [PATCH v2 17/17] drm/panthor: Add a debugfs knobs to simulate reset failures Boris Brezillon

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox

all inboxes | Powered by JetHome®