Patch "drm/xe: Use dma_fence_chain_free in chain fence unused as a sync" has been added to the 6.10-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/xe: Use dma_fence_chain_free in chain fence unused as a sync

to the 6.10-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-xe-use-dma_fence_chain_free-in-chain-fence-unuse.patch
and it can be found in the queue-6.10 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit c9d3d356fc69289ceb34bde45acbf023ed3bb860
Author: Matthew Brost <matthew.brost@xxxxxxxxx>
Date:   Fri Jul 26 18:22:16 2024 -0700

    drm/xe: Use dma_fence_chain_free in chain fence unused as a sync
    
    [ Upstream commit 4f854a8b1b85d46abd5ce206936d23f87ac5e0c9 ]
    
    A chain fence is uninitialized if not installed in a drm sync obj. Thus
    if xe_sync_entry_cleanup is called and sync->chain_fence is non-NULL the
    proper cleanup is dma_fence_chain_free rather than a dma-fence put.
    
    Reported-by: Paulo Zanoni <paulo.r.zanoni@xxxxxxxxx>
    Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2411
    Closes: https://gitlab.freedesktop.org/drm/xe/kernel/-/issues/2261
    Fixes: dd08ebf6c352 ("drm/xe: Introduce a new DRM driver for Intel GPUs")
    Signed-off-by: Matthew Brost <matthew.brost@xxxxxxxxx>
    Reviewed-by: Matthew Auld <matthew.auld@xxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240727012216.2118276-1-matthew.brost@xxxxxxxxx
    (cherry picked from commit 7f7a2da3bf8bc0e0f6c239af495b7050056e889c)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/xe/xe_sync.c b/drivers/gpu/drm/xe/xe_sync.c
index 65f1f16282356..2bfff998458ba 100644
--- a/drivers/gpu/drm/xe/xe_sync.c
+++ b/drivers/gpu/drm/xe/xe_sync.c
@@ -263,7 +263,7 @@ void xe_sync_entry_cleanup(struct xe_sync_entry *sync)
 	if (sync->fence)
 		dma_fence_put(sync->fence);
 	if (sync->chain_fence)
-		dma_fence_put(&sync->chain_fence->base);
+		dma_fence_chain_free(sync->chain_fence);
 	if (sync->ufence)
 		user_fence_put(sync->ufence);
 }




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux