From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lf1-f53.google.com (mail-lf1-f53.google.com [209.85.167.53]) (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 DC47D390995 for ; Mon, 4 May 2026 10:08:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.167.53 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777889309; cv=none; b=DejMyPkmiiX2cT6DS2QNd7Ja/BzJMa/duPkbGBXrQzz8LjRTbUbSOjnzN6EatwqHe94+aEQvH4lroK4MWu0NRnRqECwvBqkAKzULt2W9J9DORemBmt9T87JPgr4uoOguhRNeytZQF4c81v8ZPhQDOul2iBeubyu2TKs7h/my/Hg= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777889309; c=relaxed/simple; bh=uzVYR2oxORfswsKO5073AqMtFJIBGpVKkfVCVIKVeRc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=DrC9AVOTSN6LKlLmez0F7COex6ui0aaeHAwGRRhtzV+eA2YXeCk4ssyb58CEOFYmMZ0xwMzPLcJ6TpkEnel5AB9GlaBlg4D3mHH80aAI9MnVcPX7Xs+92kBnUeGaWHTSZZapob27JJtPGRGwDyXixiiu21327vb+nu6azibHTjk= 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=NWLBLAFT; arc=none smtp.client-ip=209.85.167.53 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="NWLBLAFT" Received: by mail-lf1-f53.google.com with SMTP id 2adb3069b0e04-5a283c44478so5126430e87.3 for ; Mon, 04 May 2026 03:08:26 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777889305; x=1778494105; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8ejlKc5ArUlrjZTG0qqBOiFFqj7qKQRkSb3mwVckWx0=; b=NWLBLAFTBsZWtvdQHJgyKrO+mlTfhhZlyOziFYhrC49DizZw8lfc1701XMqkOqBN9X XVgdMVFmJjgKngnVUdA3KOpwWa3f+7nw6hozXbDrvkBAwuxrcn2lr52zf8caoqqCt2pD 7MqR+TPPirA9DQig5Tu9VeR7V8r3RQ/3tNa2jbh032XVzrAjVYjuVMlXYJipGde5B212 fX4zUGgk4PNkhOGI+gkTdK0sykI48pxqipwuZf61a6cPDjDGAvOerC+qrAe+66WGK9Ww sexh0bs2zfdrRU6EywTdN/ycvVdZuiaON8U4DM44yYDglcoza/v5lABUlFZ3ZfuERLgx aWrQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777889305; x=1778494105; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8ejlKc5ArUlrjZTG0qqBOiFFqj7qKQRkSb3mwVckWx0=; b=MT8pli2/6EZ9s9RqrGdeoh7QsI8k03kRkGjbf01NX1ZptA9wJWjtGvrKM4F22waW/s T007C4u4/YygJsGAosbZTaGQZiYRaQi62TjbCmaS+8UdXRm9P/fcaqusFzhkSbDR7GMz +Au1PvO2n268QBX+kITwayOYeOMp15O2V1EjnD/Qn0WAz5HpasW4agCgDRMx+gkDOZq5 XeZI9pxI/bdLVFaeu9DVKw7C7h7U9DvmKlLwyDbMC0ii267P09CaPjCCZrhgSoTZcG6X yBXo7PA3mm3cgbnUV3afcAQv9kXRjfnXeMUTsjF3Dd7+5nGkoZmXZy0U/OE5H4WuZ7Ck PJvw== X-Gm-Message-State: AOJu0YzBJtK+zw55drroZOg1V4XDhbybCSv/k7beeDBWk7Awc1TEmPi9 cbT2srgQvmQ9oHHyIvGz2F6tJHGi5qRLESEJf4HHB6TygmuQHFoYSMkA X-Gm-Gg: AeBDiesyk5+lUzAZPfwPrInw3rXHxGLajQ9/isx4cO5JDOVg3g9zu0YDjRxa7HazUpP FqEkD1eCTcDpxd7KEPifAGpuTguyslL0mgDr+i6MbPurvi5sAyQL5znhqsQrAWdpaqHe0xOHI2m lMZWled1KhEOpuY66xfuSNOA0hz9FJmLI9lVFF5n/Qvs8hSaHqn/LITPfRotjAKTbNXD5nQbrio RlRNUYBpqd8/dVifxHEv7OvTS8VFXKZ21gd3Gc8GHagmT//5ZIeO/dtuVn26z3Wx0dIC42B7/0V za05KZADECeukQldKsdmMzV7rBRfnksFpOHTiDmOH5mJA+fzuZmgIJM3jpu336G6smMGnioMe19 OEjudoBlxItBuGF9KKv8fZ28DQ7oDBtbH7ttygp6w5fcghrMnDOpICqtr+mK0sVcJ8MmMOuA5jw mUAa1Ydfw3xhUJJ978g5tsWXNPMB/IS6zDsi0HakNEXctnAWvXYfLTf8XUm1qkMKf98dZ7rS4= X-Received: by 2002:a05:6512:1395:b0:5a4:db:abce with SMTP id 2adb3069b0e04-5a862fbc019mr2488383e87.18.1777889304461; Mon, 04 May 2026 03:08:24 -0700 (PDT) Received: from va-HP-Pavilion-Desktop-595-p0xxx.mshome.net ([193.0.150.248]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a85c33c2ecsm2856217e87.42.2026.05.04.03.08.23 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 03:08:24 -0700 (PDT) From: Vastargazing To: vebohr@gmail.com Cc: stable@vger.kernel.org Subject: [PATCH 1/5] misc: eeprom: digsy_mtc: fix reference leak on failed device registration Date: Mon, 4 May 2026 13:08:16 +0300 Message-ID: X-Mailer: git-send-email 2.51.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit When platform_device_register() fails in digsy_mtc_eeprom_devices_init(), the embedded struct device has already been initialized by device_initialize() inside platform_device_register(). The failure path cleans up the software node but returns the error without dropping the device reference: digsy_mtc_eeprom_devices_init() -> platform_device_register(&digsy_mtc_eeprom) -> device_initialize(&digsy_mtc_eeprom.dev) /* kref = 1 */ -> platform_device_add(&digsy_mtc_eeprom) /* fails */ <- returns error, kref still 1, reference leaked Per platform_device_register() kernel-doc: NOTE: _Never_ directly free @pdev after calling this function, even if it returned an error! Always use platform_device_put() to give up the reference initialised in this function instead. Fix this by calling platform_device_put() in the error branch before removing the software node. Fixes: 469dded18391 ("misc/eeprom: add eeprom access driver for digsy_mtc board") Cc: stable@vger.kernel.org Assisted-by: GitHub Copilot (Claude Sonnet 4.5) Signed-off-by: Vastargazing --- drivers/misc/eeprom/digsy_mtc_eeprom.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/misc/eeprom/digsy_mtc_eeprom.c b/drivers/misc/eeprom/digsy_mtc_eeprom.c index ee58f7ce5bfa..4ca3e567c49d 100644 --- a/drivers/misc/eeprom/digsy_mtc_eeprom.c +++ b/drivers/misc/eeprom/digsy_mtc_eeprom.c @@ -89,8 +89,10 @@ static int __init digsy_mtc_eeprom_devices_init(void) return ret; ret = platform_device_register(&digsy_mtc_eeprom); - if (ret) + if (ret) { + platform_device_put(&digsy_mtc_eeprom); device_remove_software_node(&digsy_mtc_eeprom.dev); + } return ret; } -- 2.51.0 From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from mail-lj1-f182.google.com (mail-lj1-f182.google.com [209.85.208.182]) (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 BCC88392C4F for ; Mon, 4 May 2026 10:08:54 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.208.182 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777889338; cv=none; b=MoJbCF6E5pQ9ulqXE8g9kpLJWjqeyloor+VGqcSPSK4Gxm49XQo469h9pi1/6pyJa0u6Pvz31qZIWUYAd7xxFE2XU46v5xPvd1frGLJZVOl47h24x4fp7gTpbIygFXnK74jBQxHy3JzaNRJhik4XPG/FkkNlGl+ybx12/34d43s= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777889338; c=relaxed/simple; bh=uzVYR2oxORfswsKO5073AqMtFJIBGpVKkfVCVIKVeRc=; h=From:To:Cc:Subject:Date:Message-ID:In-Reply-To:References: MIME-Version; b=ON3+7jCKfSIguoOy/S+IkKlmp3bXuNx6T24Em31x63D84Sl7AReHEAbGS8aw4QVEs3Zo33AARJq37o3SjO0IA/nfy0DMFZZnTXmMBX5nhEoujK4Y8jUijs3gYau1a8AVUJ44YF+d4vQ6XFbG5IBuwUH3Pe4yr3NyyfcVFvZUw1M= 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=feK+iruv; arc=none smtp.client-ip=209.85.208.182 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="feK+iruv" Received: by mail-lj1-f182.google.com with SMTP id 38308e7fff4ca-3878de20527so31286561fa.3 for ; Mon, 04 May 2026 03:08:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1777889332; x=1778494132; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=8ejlKc5ArUlrjZTG0qqBOiFFqj7qKQRkSb3mwVckWx0=; b=feK+iruvb0ALyN0MADYxSac4gGLl7iEq0HanQj2RruHck/yCuiTPXK283kX+4MgmTZ 6zjO1Dmn+nyvuaFQ8XDxP2XMEMuLUnPBb4ZDhvyabmqr1JuGszN6AYw7ontpd/S+N7E7 ce7tndGDrKu/89VbkIxc5/qpzzhmJ8tsN8yJ5zMFJ2V+m2BAqkKxC9Y9zPLsDQ79Okhs H3iIIRe1NRkiyjCXk4P+b2VUK4TZUNkdRAGOn66GHEA1yhp5Xe0TkMA/GIsJFe5qQx9M NLfwjRw1RaoAqadmgFdFOwj0JX23mvyG/E0jCgt95wHwO2swHFIoN0r6UVndWCLHlcf2 Cb+Q== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1777889332; x=1778494132; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=8ejlKc5ArUlrjZTG0qqBOiFFqj7qKQRkSb3mwVckWx0=; b=WIcqoA71BStFXO/VxgLZFrkWv8ZTs7wsyr+yyo4F1wnPE11S7/zmBouPmDp2mUF/eT 9ECEwUkhJaVLItpgNdC5s5Tqv+yOP00Oeydv9rwnhGelTEKNn7DbbuvwVdmEARoAnqSN ltnHV0eRTPa7x23qdwDV11bDebxK56aW/YJ5xlGAF5rZ+KUMgBL+sVZkEQMXsbeDGdGE /wkS5ol4zaZ6WfRhj9HygOITyle2Fcpnt0SiskFdP0bM9sfrOIK9PO3pJZV7ibPqs+Uz 8a4mvrkt1MmsO++Wt3DtWBNB7uPHV2gcYt+FcEacnd+29ecXqKFSVkL/BcrzdBJ74Kh7 CE6g== X-Forwarded-Encrypted: i=1; AFNElJ/iFnpTxSa4iBKLreRr1Pih0fN3nOBPS87mZcyAFCESYHv+5jnDCWjoKtpi0hJfvasqqjaFZTQ=@vger.kernel.org X-Gm-Message-State: AOJu0Yzsgs2mFmMAID0rFcfK8DvTa69cyrZ48Y1sQdptNmdZucBW0uqT 3p+GoFUvrnTnPcK6pykFNIHDOsmnLU4yCTqebXCnQ7c1idxHcWHEQjHI X-Gm-Gg: AeBDieuhEq1Jn2UIrhAOPpqHh7MAAB5qjo/R62/sDw2xjm2lorOB3N60gfDHsUDVp/i IDKBlMU336hkPLDRh+fkkV4Kto4I9WEscfKss/aVpoueNLEhLul5rCuuSlzqWyK8ho9mlKUca9Y v2sq5fOSfoFFie5xjnC5n+VKUJLkPkR6VDfkE+J3erCmXxMVru79+xj2a7YJOKhg1zyZVwKrmpq nWvovo43iMNfK0coeWRj8BEZzBlWvIA6eOqtCg76YZnquXyuXSLp/1yZIWmsMexaddfLP3g8QCs qETgifLOzP9oHi4dxPnEHhM4Ch8H8kcIcZ4PGyTPE04wL4Tg0C+Os0Mv7+E/PUjW4ZkIwu3EgAE VS5idiXRUD46ybLJz547+jzCxJ5J56Tkpuk0QgUJx05De5Dn7pzyHA2UQaBsS6G5nzOhxvMOi9i 0NZD7PtOgl8ArT4gFlwBrt7rvZ6m1mr5e58Txh1YZuO43133ZPmVjpej6+iaT1mN6jynOX64s= X-Received: by 2002:a05:6512:1250:b0:5a4:1198:5016 with SMTP id 2adb3069b0e04-5a862ec11a7mr2894531e87.11.1777889331651; Mon, 04 May 2026 03:08:51 -0700 (PDT) Received: from va-HP-Pavilion-Desktop-595-p0xxx.mshome.net ([193.0.150.248]) by smtp.gmail.com with ESMTPSA id 2adb3069b0e04-5a86645ae7csm1979099e87.79.2026.05.04.03.08.50 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 04 May 2026 03:08:51 -0700 (PDT) From: Vastargazing To: linux-kernel@vger.kernel.org Cc: Vastargazing , stable@vger.kernel.org, Arnd Bergmann , Greg Kroah-Hartman , Anatolij Gustschin , Andrew Morton Subject: [PATCH 1/5] misc: eeprom: digsy_mtc: fix reference leak on failed device registration Date: Mon, 4 May 2026 13:08:43 +0300 Message-ID: X-Mailer: git-send-email 2.51.0 In-Reply-To: References: Precedence: bulk X-Mailing-List: stable@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Message-ID: <20260504100843.W81H1e2262D_DzGBRcPBNrchzSNmdPqNKg9ihCj9kVE@z> When platform_device_register() fails in digsy_mtc_eeprom_devices_init(), the embedded struct device has already been initialized by device_initialize() inside platform_device_register(). The failure path cleans up the software node but returns the error without dropping the device reference: digsy_mtc_eeprom_devices_init() -> platform_device_register(&digsy_mtc_eeprom) -> device_initialize(&digsy_mtc_eeprom.dev) /* kref = 1 */ -> platform_device_add(&digsy_mtc_eeprom) /* fails */ <- returns error, kref still 1, reference leaked Per platform_device_register() kernel-doc: NOTE: _Never_ directly free @pdev after calling this function, even if it returned an error! Always use platform_device_put() to give up the reference initialised in this function instead. Fix this by calling platform_device_put() in the error branch before removing the software node. Fixes: 469dded18391 ("misc/eeprom: add eeprom access driver for digsy_mtc board") Cc: stable@vger.kernel.org Assisted-by: GitHub Copilot (Claude Sonnet 4.5) Signed-off-by: Vastargazing --- drivers/misc/eeprom/digsy_mtc_eeprom.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/drivers/misc/eeprom/digsy_mtc_eeprom.c b/drivers/misc/eeprom/digsy_mtc_eeprom.c index ee58f7ce5bfa..4ca3e567c49d 100644 --- a/drivers/misc/eeprom/digsy_mtc_eeprom.c +++ b/drivers/misc/eeprom/digsy_mtc_eeprom.c @@ -89,8 +89,10 @@ static int __init digsy_mtc_eeprom_devices_init(void) return ret; ret = platform_device_register(&digsy_mtc_eeprom); - if (ret) + if (ret) { + platform_device_put(&digsy_mtc_eeprom); device_remove_software_node(&digsy_mtc_eeprom.dev); + } return ret; } -- 2.51.0