[PATCH v4 0/4] Have xe_vm and xe_exec_queue take references to xef
Umesh Nerlige Ramappa
umesh.nerlige.ramappa at intel.com
Fri Jul 19 18:40:39 UTC 2024
On Fri, Jul 19, 2024 at 02:47:29AM -0500, Lucas De Marchi wrote:
>On Fri, Jul 19, 2024 at 07:16:19AM GMT, Matthew Brost wrote:
>>On Thu, Jul 18, 2024 at 02:05:44PM -0700, Umesh Nerlige Ramappa wrote:
>>>Just posting the revision that will be pushed for reference. This rev
>>>only has documentation changes compared to v2, so will not run CI on
>>>this.
>>>-----
>
>great. indeed no need to wait for CI.
>
>>>xe_file_close triggers an asynchronous queue cleanup and then frees up
>>>the xef object. Since queue cleanup flushes all pending jobs and the KMD
>>>stores client usage stats into the xef object after jobs are flushed, we
>>>see a use-after-free for the xef object. Resolve this by taking a
>>>reference to xef from xe_exec_queue.
>>>
>>>Issue: https://gitlab.freedesktop.org/drm/xe/kernel/issues/1908
>>
>>It looks like not having ref to vm->xref is causing other issues too [1]
>>[2].
>>
>>Let's get this in ASAP.
>
>IN it is. There was only a minor conflict with drm-misc-next, but that
>was trivial to solve.
You beat me to it, I was having some dim ub trouble this morning. It
keeps getting disconnected.
Thanks for pushing this.
Regards,
Umesh
>
>Thanks for this fix,
>
>Lucas De Marchi
>
>>
>>Matt
>>
>>[1] https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2273
>>[2] https://patchwork.freedesktop.org/patch/605099/?series=136240&rev=1
>>
>>>
>>>The series adds xef refcounting and ensures all consumers of xef take a
>>>ref to it.
>>>
>>>v2:
>>>- Include review comments from v1
>>>- Squash patch 3 and 5 from v1 to add Fixes/Closes tags
>>>
>>>v3:
>>>- kernel-doc fixes (Lucas, Matt)
>>>
>>>v4: Rebase to drm-tip
>>>
>>>Note: Patches 1 - 3 can be merged independently
>>>
>>>Signed-off-by: Umesh Nerlige Ramappa <umesh.nerlige.ramappa at intel.com>
>>>
>>>Umesh Nerlige Ramappa (4):
>>> drm/xe: Move part of xe_file cleanup to a helper
>>> drm/xe: Add ref counting for xe_file
>>> drm/xe: Take a ref to xe file when user creates a VM
>>> drm/xe: Fix use after free when client stats are captured
>>>
>>> drivers/gpu/drm/xe/xe_device.c | 58 +++++++++++++++++++-----
>>> drivers/gpu/drm/xe/xe_device.h | 3 ++
>>> drivers/gpu/drm/xe/xe_device_types.h | 3 ++
>>> drivers/gpu/drm/xe/xe_drm_client.c | 5 +-
>>> drivers/gpu/drm/xe/xe_exec_queue.c | 10 +++-
>>> drivers/gpu/drm/xe/xe_exec_queue_types.h | 7 ++-
>>> drivers/gpu/drm/xe/xe_vm.c | 6 ++-
>>> 7 files changed, 71 insertions(+), 21 deletions(-)
>>>
>>>--
>>>2.38.1
>>>
More information about the Intel-xe
mailing list