[PATCH v9 0/5] drm/panthor: Display size of internal kernel BOs through fdinfo

Adrián Larumbe
2025-01-23T22:54:24Z

This patch series enables display of the size of driver-owned shmem BO's that aren't
exposed to userspace through a DRM handle. Also fixes a use-after-free bug in the
existing fdinfo implementation for Panthor.

Discussion of previous revision can be found here [1].

Changelog:
v9:
- Added proper locking around group pool xarray to prevent UAF errors.
- Added proper locking around vms pool xarray loop for the same reason
- Added new patch that fixes UAF error because no locking when accessing
fdinfo group stats.
- Some minor cosmetic and naming changes.
v8:
- Made print_size public and added prefix argument for drm_print_memory_stats
- Updated documentation commit to reflect new name tags
- Some minor polishing
v7:
- Added new commit: mentions the formation rules for driver-specific fdinfo keys
- Added new commit: adds a helper that lets driver print memory size key:value
pairs with their driver name as a prefix.
- Modified later commits to make use of the previous ones.
- Deleted mentions of now unnecessary memory keys in the old revision.
v6:
- Replace up_write witnh up_read, which was left out in the previous version
- Fixed some minor comment and documentation issues reported by the kernel test robot
v5:
- Replaced down_write semaphore with the read flavour
- Fixed typo and added explicit description for drm-shared-internal in
the fdinfo documentation file for Panthor.
v4:
- Remove unrelated formating fix
- Moved calculating overall size of a group's kernel BO's into
its own static helper.
- Renamed group kernel BO's size aggregation function to better
reflect its actual responsibility.

[1] https://lore.kernel.org/dri-devel/20250114173406.3060248-1-adrian.larumbe@collabora.com/

Adrián Larumbe (5):
Documentation/gpu: Clarify format of driver-specific fidnfo keys
drm/file: Add fdinfo helper for printing regions with prefix
drm/panthor: Expose size of driver internal BO's over fdinfo
Documentation/gpu: Add fdinfo meanings of panthor-*-memory tags
drm/panthor: Fix race condition when gathering fdinfo group samples

Documentation/gpu/drm-usage-stats.rst | 5 ++-
Documentation/gpu/panthor.rst | 10 +++++
drivers/gpu/drm/drm_file.c | 27 ++++++++----
drivers/gpu/drm/panthor/panthor_drv.c | 14 ++++++
drivers/gpu/drm/panthor/panthor_heap.c | 26 +++++++++++
drivers/gpu/drm/panthor/panthor_heap.h | 2 +
drivers/gpu/drm/panthor/panthor_mmu.c | 36 +++++++++++++++
drivers/gpu/drm/panthor/panthor_mmu.h | 3 ++
drivers/gpu/drm/panthor/panthor_sched.c | 58 ++++++++++++++++++++++++-
drivers/gpu/drm/panthor/panthor_sched.h | 3 ++
include/drm/drm_file.h | 5 +++
11 files changed, 179 insertions(+), 10 deletions(-)

base-commit: c6eabbab359c156669e10d5dec3e71e80ff09bd2
--
2.47.1