mbox series

[v2,00/12] v3d: Perfmon cleanup

Message ID 20240710134130.17292-1-tursulin@igalia.com (mailing list archive)
Headers show
Series v3d: Perfmon cleanup | expand

Message

Tvrtko Ursulin July 10, 2024, 1:41 p.m. UTC
From: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>

When we had to quickly deal with a tree build issue via merging
792d16b5375d ("drm/v3d: Move perfmon init completely into own unit"), we
promised to follow up with a nicer solution.

As in the process of eliminating the hardcoded defines we have discovered a few
issues in handling of corner cases and userspace input validation, the fix has
turned into a larger series, but hopefully the end result is a justifiable
cleanup.

v2:
 * Re-order the patches so fixes come first while last three are optional
   cleanups.

Tvrtko Ursulin (12):
  drm/v3d: Prevent out of bounds access in performance query extensions
  drm/v3d: Fix potential memory leak in the timestamp extension
  drm/v3d: Fix potential memory leak in the performance extension
  drm/v3d: Validate passed in drm syncobj handles in the timestamp
    extension
  drm/v3d: Validate passed in drm syncobj handles in the performance
    extension
  drm/v3d: Move part of copying of reset/copy performance extension to a
    helper
  drm/v3d: Size the kperfmon_ids array at runtime
  drm/v3d: Do not use intermediate storage when copying performance
    query results
  drm/v3d: Move perfmon init completely into own unit
  drm/v3d: Align data types of internal and uapi counts
  drm/v3d: Add some local variables in queries/extensions
  drm/v3d: Prefer get_user for scalar types

 drivers/gpu/drm/v3d/v3d_drv.c                 |   9 +-
 drivers/gpu/drm/v3d/v3d_drv.h                 |  16 +-
 drivers/gpu/drm/v3d/v3d_perfmon.c             |  44 +--
 .../gpu/drm/v3d/v3d_performance_counters.h    |  16 +-
 drivers/gpu/drm/v3d/v3d_sched.c               | 106 ++++---
 drivers/gpu/drm/v3d/v3d_submit.c              | 285 ++++++++++--------
 6 files changed, 281 insertions(+), 195 deletions(-)