From nobody Tue Jun 16 03:48:00 2026 Received: from mail-pl1-f175.google.com (mail-pl1-f175.google.com [209.85.214.175]) (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 6A43031F996 for ; Wed, 15 Apr 2026 19:17:59 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.214.175 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776280680; cv=none; b=uxhzHU+Y6KO1Hk7UV1ieoKMld2gWDI4PXYCQz3Tsv7s9/5Pm3ZPgHowuiU07KrlZpmeiVEyh1tkamvBDX5NXxWhqpKND/NoUjBwZkkhcs0plO0ZfbZtd03a0gJ3ha9DTTeJBT8QPxQuBezQVMG40qaqaBlJbSQbNLDfivzw1lzI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776280680; c=relaxed/simple; bh=tU1EdtcTkfiSn33FVUfgxFLQ6+RoNw+otoyWsdjSe/0=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=ruVQJWMeNEbOUMCzyKvw+ImO/ZUPaE/rh9/qfmhGZ2ZCO+dWfEQL1dcle3i/F4Gh6H2guEPdeN2lwz9wWk7mfVZIgrd3nrFXhiVwgfjT/9xueDOF6yliuPZw8GBIcF1UvXHrHw8EK44tsUJT6YH4eoUsT0o2dlxRO2ZWIo29eQ0= 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=M5aQWJzo; arc=none smtp.client-ip=209.85.214.175 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="M5aQWJzo" Received: by mail-pl1-f175.google.com with SMTP id d9443c01a7336-2ad617d5b80so39742225ad.1 for ; Wed, 15 Apr 2026 12:17:59 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776280679; x=1776885479; 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=db1viqbuVUDqwJpETiZkl//3ER+sg+ZcMt0690Q+Yiw=; b=M5aQWJzo63TTC0+jytJyBW/wM7qf1tQRh8wHeakV2i6liL9o9ThKNxPeoCzcdWJVgF Max5r7dpqtNBrM9ajScjBNiCuZu1B8dZ1dacS+HP2g/kL3sIVbZAyCvbjkX4T3nnX67B S+2T3tOUI918VkFRipzz9hJq1bGokozkS09PVATVQ/Ks/CBMY/T6WZn85Vl/6n5tVn78 grwAN8qlAYffmI/Yv0RU4uxENUhZfs5Q/80ng99gVUnSO1CxO4Pgd/Kx6VkbquX4TbLe /nvpnToaUUQp7smPqBBVJEtWQTGHlL4Kd19ljc06iiGDjh8zSpXz7JUD878TkIpThJ6z b0iQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776280679; x=1776885479; 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=db1viqbuVUDqwJpETiZkl//3ER+sg+ZcMt0690Q+Yiw=; b=Lna2YT+QHvqmq+pNGG5fvPglRz/3FfT0qrfWcqONT/2MN8jq8NvGZkgq73+UBI52BQ rj2aSMaQfZLwzMtSzvtomQRKxp5fCsXY7fnprGCqmmmjarZtkkCwBaGUf4xFrz5hN4Ut I8t43dxRL4nu9wflD1E1WAUg4v4x+54KHLjHyU9TpO8n+DV2YZ4l4bJvZ1xUQ5LxzLkW pwj3WN4RIiv4GxDZsWW7L27rX8yj3RLU74mWYShrhMKySxFl9R8P7OeGhlORWUgYgwjq V/2Qi3sDk/56t4AMiTJAMF7DKpKvZRED49/rKFvDLmFvXgrgxK/3wxqqI5aPYNBzx2iu gUxg== X-Forwarded-Encrypted: i=1; AFNElJ9nNfPA+czYgf/jqGtCVrYBLOSh/L2ZvKzrBGHWtJv3qQJPA42YxWaMqwOHpFPZoJRUO7FR0e4DFo7Q4bU=@vger.kernel.org X-Gm-Message-State: AOJu0Yy+Kel4tgde0Au0Zz0/XaCjkqj+FxfuxbPakfXmm8IL4fTtXIbx WSVT3xKIqpGCg1/F4+iszgKA9H0GjLmMMhEU1H34YzVlYFfGfX4LsELg X-Gm-Gg: AeBDietTt9hMHedkMS1S/1YxGOA/kwO60j8TL01G7fiz4sOJLbHUG8CkApi4QZbnJaP xb9Or16ECOhNPAd2ROXG+nITpxww9yvzmrwjv6Ct8f7DkwdW2fLRT+mXtkJOVcL9H9ogMztKB0n Fs0oXccKDAk3kwGxVu/xRfhZwQz92q+L3vordSIO5E19Yw+CD9gwpHmU4gtm0QruELZ1U4sVVkn FD/cq3LqpPxZv/txWI1EkdmcEJ15oe1/ljE3/JY7vaffdmutlEHCHS38Kufdj05s5Wqia26EPof Bgyq9/AQYzi/F2pBhlJjvCa8ZgTcGZjF08APb6w0YBeEOMiOvlvwXtoruUpDdDYOPrXGt8dh+le +Yd0zfrdpFyZmkb3qR66Dq66+BlVROWPTrODVvB4jQcmlQzDvOZTeQQ11Z6BWRb6JDoX5i9KG5z b9Kxykw/enr1K0IwbHUlPj/+PSmyk3vgm8+SA= X-Received: by 2002:a17:903:284:b0:2b2:5822:7a70 with SMTP id d9443c01a7336-2b2d5a63d4dmr227552715ad.38.1776280678725; Wed, 15 Apr 2026 12:17:58 -0700 (PDT) Received: from lgs.. ([2409:893d:1171:10e2:93ee:194:b07d:a9b2]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2b4782acaf0sm32022445ad.67.2026.04.15.12.17.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 12:17:58 -0700 (PDT) From: Guangshuo Li To: Helge Deller , Thomas Zimmermann , Kees Cook , Guangshuo Li , Dan Carpenter , Tomi Valkeinen , linux-fbdev@vger.kernel.org, linux-omap@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Cc: stable@vger.kernel.org Subject: [PATCH] fbdev: omapfb: fix reference leak on failed device registration Date: Thu, 16 Apr 2026 03:17:47 +0800 Message-ID: <20260415191747.3845525-1-lgs201920130244@gmail.com> X-Mailer: git-send-email 2.43.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8" When platform_device_register() fails in omapfb_probe(), the embedded struct device in omapdss_device has already been initialized by device_initialize(), but the failure path only reports the error and returns without dropping the device reference for the current platform device: omapfb_probe() -> platform_device_register(&omapdss_device) -> device_initialize(&omapdss_device.dev) -> setup_pdev_dma_masks(&omapdss_device) -> platform_device_add(&omapdss_device) This leads to a reference leak when platform_device_register() fails. Fix this by calling platform_device_put() before returning the error. The issue was identified by a static analysis tool I developed and confirmed by manual review. Fixes: f778a12dd3320 ("OMAP: OMAPFB: fix clk_get for RFBI") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/video/fbdev/omap/omapfb_main.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/video/fbdev/omap/omapfb_main.c b/drivers/video/fbdev/o= map/omapfb_main.c index cafe859d6e5a..0d47a8aec5c5 100644 --- a/drivers/video/fbdev/omap/omapfb_main.c +++ b/drivers/video/fbdev/omap/omapfb_main.c @@ -1768,6 +1768,7 @@ static int omapfb_probe(struct platform_device *pdev) r =3D platform_device_register(&omapdss_device); if (r) { dev_err(&pdev->dev, "can't register omapdss device\n"); + platform_device_put(&omapdss_device); return r; } =20 --=20 2.43.0