From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-pj1-f42.google.com (mail-pj1-f42.google.com [209.85.216.42]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 079F63D0915 for ; Fri, 24 Apr 2026 13:55:09 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.216.42 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777038915; cv=none; b=SaDWZjugqy9T0efmLDSctHa3Zx0kTgiAP5+7WsiQTO1GBbgm9I8b4wXQ5dLRTkDEIm1XS+oX0x9h+XYYA43dLZ+ZkwkGYJsQnHVQzwD+no8q3tZUBnsLgxu+vskKi+HLxXoRJa0OSdDSUj1uwTdf+Vdkq+SyFALjEhJFaminOPE= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777038915; c=relaxed/simple; bh=d4mxzTO2Ltl/eUXMBRQNyDiMx5nB3UU/ry0cuOPEU7c=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=AsfNpbbqIm3kd4FR5ASiirWBx7/+OHURR34TPMP74X/ejJ6jG/QA7cDSpMmxRtgJEteVZODWNJwD0erloRNejS0mIUJQDo3Mma/5BhOM0bT7In2cj65cEbiRzwBbwO9LoFFWUPb1iPUCW+GJlFXkobWNGWRqvqT8fxvqf2V0Yr4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com; spf=pass smtp.mailfrom=gmail.com; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b=d+JRRqZg; arc=none smtp.client-ip=209.85.216.42 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=gmail.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=gmail.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="d+JRRqZg" Received: by mail-pj1-f42.google.com with SMTP id 98e67ed59e1d1-35da01fc0baso4960621a91.2 for ; Fri, 24 Apr 2026 06:55:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777038907; x=1777643707; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=kMeiAHdTbFhy7JXd41HJZsYauWdI9RVH3tSuSNB+WCI=; b=d+JRRqZgBWm5eHzCotkrGA1DvbtNAj0yNxMFMHHbY40U5UKLx9RVRziBJmu0658wRd KAjrmzDMbkyPMCKeWDbQO/dmuGs5j0VhEhrWsy92RrHHg9Q67dy8B7BC5oCt0+dENMty wgTEg7DLvak2JCUKyNUv5xCQOyjyH4smLEcsGuHA9e1blvpqycokR0h4+8TQwcULT2Ud zuFySnxLJl/H9wfyzBHDTduJ0rujzZbPhaoX/Y9utJt3wjuElRdqNyXK6VpRiGBihlfF lo0vA7c/RKVav+x4cIp3/6aUfMyK5OVpaPAPEw3mjln7itI4PT5qRHdZ6zaXV1CYrVl+ n6Eg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777038907; x=1777643707; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=kMeiAHdTbFhy7JXd41HJZsYauWdI9RVH3tSuSNB+WCI=; b=BD7PL0gx9DfE3pmlc3dG0IS3ZqxlwWrEz+zoEl2kz8ku1O2BUlSpaaFxFA6P1i0J4G q13pZdMCuk032hD73Y7B9EQYtdtUT8NPEQkMJEoVJq/r/CJ04XH7GF8/omfGwdOPNAWV xoydLl9G2HMHJmPCH2YNVAdTZzE/54ldfUjc1LTwF80p6fbhbeIpGq22CeXz47smdB46 LHlNIaRv6s3B+b8MpFJ4LzltIogZOJpef/ncbTNqq2ZHDXZD1FCv0RQJ/djgaWtECBfT oP2zmBPkYAHFc8rJDVxY1iWiRVwBFnaxbEoKmtxBkpaBnqD8xMFOZUW1LjTXLWS0wKxy 0m/w== X-Forwarded-Encrypted: i=1; AFNElJ9VnR7omOjGivrUJd1OLIFLISMu1YrbxdlaUighIUzkAhvHAP0ox6wCvNsSjhYQsNu+voAGIv6fk8mSlw0=@vger.kernel.org X-Gm-Message-State: AOJu0YxhkmGMxnPm+i01xJwyaM/Ab3Oi7UiC9jFidcXFQ1t9v2IMsyuI 4il3/TJZZaqKqLWGQq/NtM/4YFoFua8yJzz0wg7kpbH9GkpBkMhc0lI= X-Gm-Gg: AeBDiesta0FO14Bl1esuUdHqJ+XdK+Lm3+/4OVxRqtMV7Z6a1hifatK9CgQhdP0RzSk 6SFEXRcTxRGv4NvMJuN5sIe1Cqy7mRfvcq6VTpP0b+yrgz/sa4UHLKzGrNPsRTvPM3J7sPhZrde YIob9z+qxyaD0UOIbguEFAbMgA8cbdbDRpjCdYS7znYf+0PecTnNW95WHLnM9p9StKf2lVlfTxX nNJP0U1pXUkQOCRMC1ATurqUK64TaY735FNfjC9pu9t8P4eIsIWTEn1WgwrpMzh1StP5jq6CeaG 3yB68YRdtY2ynrPTKslNYR3bo6iIyN0UY/TcnUw8+Al4igusBKfq4EpxHS5L53jjtxxl2sZABjW fzsC0yibTNs69D+hPupJU8upM3jMHSWw4tZsQKY4AEUkvNm5WbfzCF1/FJCoEejV7F/AKkALxBj yc/ADXd0IrUmMvgpisnv4Xa0FT7FYUbp9hrw3yY9xNsn1rcOYnSmOlkeXYNnxSHMSttFGylZUgA a+c3ke+x15QX1k= X-Received: by 2002:a17:90b:2dc1:b0:35e:30bc:96e2 with SMTP id 98e67ed59e1d1-361403f1901mr33384481a91.10.1777038906954; Fri, 24 Apr 2026 06:55:06 -0700 (PDT) Received: from localhost.localdomain ([1.226.165.54]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-36141990bb6sm24427479a91.17.2026.04.24.06.55.04 (version=TLS1_3 cipher=TLS_CHACHA20_POLY1305_SHA256 bits=256/256); Fri, 24 Apr 2026 06:55:06 -0700 (PDT) From: Myeonghun Pak To: Gerd Hoffmann , Maarten Lankhorst , Maxime Ripard , Thomas Zimmermann , David Airlie , Simona Vetter Cc: Myeonghun Pak , virtualization@lists.linux.dev, dri-devel@lists.freedesktop.org, stable@vger.kernel.org, linux-kernel@vger.kernel.org Subject: [PATCH] drm/bochs: Drop manual put on probe error path Date: Fri, 24 Apr 2026 22:54:42 +0900 Message-ID: <20260424135501.18483-1-mhun512@gmail.com> X-Mailer: git-send-email 2.47.1 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit bochs_pci_probe() allocates the DRM device with devm_drm_dev_alloc(), which registers a devres action to drop the initial DRM device reference on driver detach or probe failure. The error path currently calls drm_dev_put() manually. If probe then returns an error, devres will run the registered release action and put the same device again, after the first put may already have released it. Return the probe error directly and let devres own the final put. Fixes: 04826f588682 ("drm/bochs: Allocate DRM device in struct bochs_device") Cc: stable@vger.kernel.org Signed-off-by: Myeonghun Pak --- drivers/gpu/drm/tiny/bochs.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/drivers/gpu/drm/tiny/bochs.c b/drivers/gpu/drm/tiny/bochs.c index 222e4ae1ab..5d8dc5efec 100644 --- a/drivers/gpu/drm/tiny/bochs.c +++ b/drivers/gpu/drm/tiny/bochs.c @@ -761,25 +761,21 @@ static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent ret = pcim_enable_device(pdev); if (ret) - goto err_free_dev; + return ret; pci_set_drvdata(pdev, dev); ret = bochs_load(bochs); if (ret) - goto err_free_dev; + return ret; ret = drm_dev_register(dev, 0); if (ret) - goto err_free_dev; + return ret; drm_client_setup(dev, NULL); return ret; - -err_free_dev: - drm_dev_put(dev); - return ret; } static void bochs_pci_remove(struct pci_dev *pdev) -- 2.39.5