Patch "drm/xe: Fix opregion leak" 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: Fix opregion leak

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-fix-opregion-leak.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 d7b9cf1dcdf98c38c940215fdc3f639028630070
Author: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
Date:   Wed Jul 24 14:53:09 2024 -0700

    drm/xe: Fix opregion leak
    
    [ Upstream commit f4b2a0ae1a31fd3d1b5ca18ee08319b479cf9b5f ]
    
    Being part o the display, ideally the setup and cleanup would be done by
    display itself. However this is a bigger refactor that needs to be done
    on both i915 and xe. For now, just fix the leak:
    
    unreferenced object 0xffff8881a0300008 (size 192):
      comm "modprobe", pid 4354, jiffies 4295647021
      hex dump (first 32 bytes):
        00 00 87 27 81 88 ff ff 18 80 9b 00 00 c9 ff ff  ...'............
        18 81 9b 00 00 c9 ff ff 00 00 00 00 00 00 00 00  ................
      backtrace (crc 99260e31):
        [<ffffffff823ce65b>] kmemleak_alloc+0x4b/0x80
        [<ffffffff81493be2>] kmalloc_trace_noprof+0x312/0x3d0
        [<ffffffffa1345679>] intel_opregion_setup+0x89/0x700 [xe]
        [<ffffffffa125bfaf>] xe_display_init_noirq+0x2f/0x90 [xe]
        [<ffffffffa1199ec3>] xe_device_probe+0x7a3/0xbf0 [xe]
        [<ffffffffa11f3713>] xe_pci_probe+0x333/0x5b0 [xe]
        [<ffffffff81af6be8>] local_pci_probe+0x48/0xb0
        [<ffffffff81af8778>] pci_device_probe+0xc8/0x280
        [<ffffffff81d09048>] really_probe+0xf8/0x390
        [<ffffffff81d0937a>] __driver_probe_device+0x8a/0x170
        [<ffffffff81d09503>] driver_probe_device+0x23/0xb0
        [<ffffffff81d097b7>] __driver_attach+0xc7/0x190
        [<ffffffff81d0628d>] bus_for_each_dev+0x7d/0xd0
        [<ffffffff81d0851e>] driver_attach+0x1e/0x30
        [<ffffffff81d07ac7>] bus_add_driver+0x117/0x250
    
    Fixes: 44e694958b95 ("drm/xe/display: Implement display support")
    Reviewed-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240724215309.644423-1-lucas.demarchi@xxxxxxxxx
    Signed-off-by: Lucas De Marchi <lucas.demarchi@xxxxxxxxx>
    (cherry picked from commit 6f4e43a2f771b737d991142ec4f6d4b7ff31fbb4)
    Signed-off-by: Rodrigo Vivi <rodrigo.vivi@xxxxxxxxx>
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/xe/display/xe_display.c b/drivers/gpu/drm/xe/display/xe_display.c
index 6ecaf83264d55..7cdc03dc40ed9 100644
--- a/drivers/gpu/drm/xe/display/xe_display.c
+++ b/drivers/gpu/drm/xe/display/xe_display.c
@@ -134,6 +134,7 @@ static void xe_display_fini_noirq(struct drm_device *dev, void *dummy)
 		return;
 
 	intel_display_driver_remove_noirq(xe);
+	intel_opregion_cleanup(xe);
 }
 
 int xe_display_init_noirq(struct xe_device *xe)
@@ -159,8 +160,10 @@ int xe_display_init_noirq(struct xe_device *xe)
 	intel_display_device_info_runtime_init(xe);
 
 	err = intel_display_driver_probe_noirq(xe);
-	if (err)
+	if (err) {
+		intel_opregion_cleanup(xe);
 		return err;
+	}
 
 	return drmm_add_action_or_reset(&xe->drm, xe_display_fini_noirq, NULL);
 }




[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