diff --git a/backend/drm/drm.c b/backend/drm/drm.c index b2bebe2d8..b4d8a0699 100644 --- a/backend/drm/drm.c +++ b/backend/drm/drm.c @@ -1820,16 +1820,10 @@ int wlr_drm_backend_get_non_master_fd(struct wlr_backend *backend) { assert(backend); struct wlr_drm_backend *drm = get_drm_backend_from_backend(backend); - char *path = drmGetDeviceNameFromFd2(drm->fd); - if (!path) { - wlr_log(WLR_ERROR, "Failed to get device name from DRM fd"); - return -1; - } + int fd = open(drm->name, O_RDWR | O_CLOEXEC); - int fd = open(path, O_RDWR | O_CLOEXEC); if (fd < 0) { wlr_log_errno(WLR_ERROR, "Unable to clone DRM fd for client fd"); - free(path); return -1; }