From nobody Tue Jun 16 02:36:10 2026 Received: from mail-pf1-f171.google.com (mail-pf1-f171.google.com [209.85.210.171]) (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 2CC1A3E274E for ; Wed, 15 Apr 2026 15:45:51 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.171 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776267952; cv=none; b=C7RmTK4WQs8U9FBjJIoSQ/Zqs4xkpVXyJqwloOaG4I9kmiTljO5NH8fGztw7eEUxHbQbKKVhRPQx37dtMte4aifdtbjcvoJynsvbB3+Nrz3HGk/nAl6cFiLxZPAHE09bVu7JhVlhAjcxMSehj65cyceh/ZdXAavEI9mwvPGaXIA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776267952; c=relaxed/simple; bh=gh7C2dUIZG4hFmy7cefMS/4bTu2pI3aYjrPn6rlC3xE=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=nRAidcMvtl89JAwAECi6bPA5PhjRBH55jpD+NmLlZCr1IhHaP5UzEFdsJNi7ctVQsQwG85ZFLxJBcLMqcEp4ZuSxRBdhQnINtrdodInlcfR/FzTGnvAqXEBuFAj2YmnqAFxYu9twzTknrJeVgOyEPQOxaU23y2hcqT86itjlcy4= 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=lL3gIjWB; arc=none smtp.client-ip=209.85.210.171 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="lL3gIjWB" Received: by mail-pf1-f171.google.com with SMTP id d2e1a72fcca58-82f2766905fso1893974b3a.3 for ; Wed, 15 Apr 2026 08:45:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20251104; t=1776267951; x=1776872751; 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=TnIFZObf5ErHGAi6LOPmajn+8u0D4ZmRXDoAcGE05pE=; b=lL3gIjWBeTBIX8TUGQVxde2jhgDTUpaf4MFozRqkyLw+KlwQUwhtugkpqln+ZHXzb0 pgPrdUYyF1KQdQ7chAMkIfA4cWid1L5V+nax/GEzAt8ZLl6e3mGiQ2KchPekhfbTh2ww fWFyIQusrnZxdkAOHvdhGYupPweWN96JT3gZ3ZGPn5HRMVZpFevjDDE05hj45Yg8mBNI aMns8yQmHY98n+xU0zY2MZG2LmdAUNgF+brDbSWhDp/73gdYWs97/fVW8qWKizPa2Q/8 8MZOtZxPE051JrpGc30lgb0mKnU7dW+gp5zoMwQiPkiTD5bdlGgDhorBhy34nQvm47eJ Ahyg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1776267951; x=1776872751; 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=TnIFZObf5ErHGAi6LOPmajn+8u0D4ZmRXDoAcGE05pE=; b=c3FPvl5aNmN/xOnHX4UceA1RruUj1HZrpAvwrieSOvWkMllgLxlh1CsyTxU0bzJ+gK EOV7BQKk/SfIHi3vRvWxx9+Kq/z/uYbkueuNb/AKBcaJtkICZ8dVNLb2OMgqgDRPNXY8 iGUqH0V7W8W6I05/n4ODKLXn6+BFtS8kgG44ITKYS6MRSY51BxgmhOKhChWzQzdfv8MV PTvITXUsjOmZLMIxOAUW+j5jMy54ZM/rQOibc03uWgaOqkTHjaZllFqpfpdyw/kg324R mQcGQJLahikPfztH45s6a03i2VZvlzio3KK1ktc6Ph1qgikMyxQglcdy4PBcaVGCT0+2 BgAA== X-Forwarded-Encrypted: i=1; AFNElJ8ksOKMuVC2D1lbQS2ZIRaTrdk5arJxPqOizRsCpPCwxAc7f9Pw++/8ZQaOQaRbLDrYTZggYFyIlV3pvpc=@vger.kernel.org X-Gm-Message-State: AOJu0YxIhUmz77+vd9YBihkXtxIWQHul1ceK+SqIaSCHmHMIEa0VmFBp qtFYH0C35vV4QMvXlSUqnB0oKCR9nzQadlycXL7TAxJKMow4Iz9RtDl1 X-Gm-Gg: AeBDievNCYVkWznkpz3CVxuDFZf5crmzskckrCrL5nQQjzWjvb+zxB0YIZHy5EbDe83 fO0uQQ2D3A/+y0En1TKgcoH7JmKUhf/gsLfLEu/yFt3AWexB081c0VHVTWwNFsQJCYXA52yc+mh 3oAvbMip+AKCydQ12tcyU2TfFPLJ1pXHKy5aNPU3ddj0bpdoo72OPdu350yf3grshm25nmdAGsH bjc6BwmXD9WlnY0i59sAqLM8Ess6HdKKOmyorwrSQJSVY4CnOoX84YNhlPh4kO7TMsGQTsWSTHb 61sweFXeFPJ69S8aThtboW+J9hHG98Y/kyaiAsE8E59dw38hnpR9xxklWFbJ6+/nr8UjpVC3iQh uCHrayI2+JXvwi/dweAikJ5AxkV2Yc+HhHB1kOSeEh+zTJqbiE7QmGjOXkwMW0BeOQLz5Xzde8t VM+u3XPeT9pPqk4ixTCiG4P1cwbBOi+LsY X-Received: by 2002:a05:6a00:1ad3:b0:82f:6be8:6c0e with SMTP id d2e1a72fcca58-82f6be878e3mr2380350b3a.45.1776267950573; Wed, 15 Apr 2026 08:45:50 -0700 (PDT) Received: from lgs.. ([112.224.67.108]) by smtp.gmail.com with ESMTPSA id d2e1a72fcca58-82f67476a5fsm2506233b3a.60.2026.04.15.08.45.46 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 15 Apr 2026 08:45:49 -0700 (PDT) From: Guangshuo Li To: Shuah Khan , Kieran Bingham , Mauro Carvalho Chehab , Hans Verkuil , Dafna Hirschfeld , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org Cc: Guangshuo Li , stable@vger.kernel.org Subject: [PATCH] media: vimc: fix reference leak on failed device registration Date: Wed, 15 Apr 2026 23:45:37 +0800 Message-ID: <20260415154537.3451732-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 vimc_init(), the embedded struct device in vimc_pdev has already been initialized by device_initialize(), but the failure path returns the error without dropping the device reference for the current platform device: vimc_init() -> platform_device_register(&vimc_pdev) -> device_initialize(&vimc_pdev.dev) -> setup_pdev_dma_masks(&vimc_pdev) -> platform_device_add(&vimc_pdev) 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: 4babf057c143f ("media: vimc: allocate vimc_device dynamically") Cc: stable@vger.kernel.org Signed-off-by: Guangshuo Li --- drivers/media/test-drivers/vimc/vimc-core.c | 1 + 1 file changed, 1 insertion(+) diff --git a/drivers/media/test-drivers/vimc/vimc-core.c b/drivers/media/te= st-drivers/vimc/vimc-core.c index 15167e127461..fee0c7a09c4f 100644 --- a/drivers/media/test-drivers/vimc/vimc-core.c +++ b/drivers/media/test-drivers/vimc/vimc-core.c @@ -421,6 +421,7 @@ static int __init vimc_init(void) if (ret) { dev_err(&vimc_pdev.dev, "platform device registration failed (err=3D%d)\n", ret); + platform_device_put(&vimc_pdev); return ret; } =20 --=20 2.43.0