From 03fa63778b908860e67627ba680912ccc606d3de Mon Sep 17 00:00:00 2001 From: Icenowy Zheng Date: Mon, 24 Nov 2025 22:56:41 +0200 Subject: [PATCH] modesetting: fix shared pixmap dmabuf fd leakage After the dmabuf fd exported by another screen is imported to a pixmap, the pixmap holds a reference for the buffer, thus the FD itself finished its job and needs to be closed to prevent a stale reference to the buffer. Signed-off-by: Icenowy Zheng's avatarIcenowy Zheng --- hw/xfree86/drivers/video/modesetting/driver.c | 1 + 1 file changed, 1 insertion(+) diff --git a/hw/xfree86/drivers/video/modesetting/driver.c b/hw/xfree86/drivers/video/modesetting/driver.c index 4984dc1c22..2dd9ed5419 100644 --- a/hw/xfree86/drivers/video/modesetting/driver.c +++ b/hw/xfree86/drivers/video/modesetting/driver.c @@ -1798,6 +1798,7 @@ msSetSharedPixmapBacking(PixmapPtr ppix, void *fd_handle) ppix->devKind, ppix->drawable.depth, ppix->drawable.bitsPerPixel); + close(ihandle); } else { int size = ppix->devKind * ppix->drawable.height; ret = drmmode_SetSlaveBO(ppix, &ms->drmmode, ihandle, ppix->devKind, size);