diff options
author | 2025-06-10 17:42:26 +0100 | |
---|---|---|
committer | 2025-06-13 08:28:22 +0100 | |
commit | 6bd90e700b4285e6a7541e00f969cab0d696adde (patch) | |
tree | 39df795c9ce57851c601d070a15902608c6be3dc /tools/perf/scripts/python/arm-cs-trace-disasm.py | |
parent | dma-fence: Add safe access helpers and document the rules (diff) | |
download | wireguard-linux-6bd90e700b4285e6a7541e00f969cab0d696adde.tar.xz wireguard-linux-6bd90e700b4285e6a7541e00f969cab0d696adde.zip |
drm/xe: Make dma-fences compliant with the safe access rules
Xe can free some of the data pointed to by the dma-fences it exports. Most
notably the timeline name can get freed if userspace closes the associated
submit queue. At the same time the fence could have been exported to a
third party (for example a sync_fence fd) which will then cause an use-
after-free on subsequent access.
To make this safe we need to make the driver compliant with the newly
documented dma-fence rules. Driver has to ensure a RCU grace period
between signalling a fence and freeing any data pointed to by said fence.
For the timeline name we simply make the queue be freed via kfree_rcu and
for the shared lock associated with multiple queues we add a RCU grace
period before freeing the per GT structure holding the lock.
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@igalia.com>
Reviewed-by: Matthew Brost <matthew.brost@intel.com>
Acked-by: Lucas De Marchi <lucas.demarchi@intel.com>
Signed-off-by: Tvrtko Ursulin <tursulin@ursulin.net>
Link: https://lore.kernel.org/r/20250610164226.10817-5-tvrtko.ursulin@igalia.com
Diffstat (limited to 'tools/perf/scripts/python/arm-cs-trace-disasm.py')
0 files changed, 0 insertions, 0 deletions