From nobody Mon Feb 9 00:07:19 2026 Received: from mail-pf1-f178.google.com (mail-pf1-f178.google.com [209.85.210.178]) (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 BE93B1862 for ; Sat, 31 Jan 2026 14:21:13 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.178 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769869274; cv=none; b=AhWneLVY8mAYkc42B6T8HTGrHee87Zsiul5VuobdExwGRLCuyAEj7gANxvYpqlIpHpeqgglixU3KdMPtaXxLdMkvprUePArP9E4zs25d21hwzxH1aXvbUB4Wl7O9QOExAB1zqS5r317Lb3Huw0yUDFEr9TgZupn5KebTLDPhMiI= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1769869274; c=relaxed/simple; bh=0SqmNXMiDYeKhpDqhKZq0p/LgtJ8W3oHQkpkBHWvFaU=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:To:Cc; b=A1pWUKG42thlaHxeutgFADHDydyBGvAHdoS3h57dIkSi54dBmzld60f04HIbHjYp7e/TTE5xn2GQ5+i0AS7Sa9aakpVtLNHn3L6ftn/txMLHVGd5brJlOe/sLu1ydsJoAkFCmZW0eH0qvrTokF2AZdiudjJYSqHBwE4tt6dfjao= 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=PvQz/QQS; arc=none smtp.client-ip=209.85.210.178 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="PvQz/QQS" Received: by mail-pf1-f178.google.com with SMTP id d2e1a72fcca58-8220bd582ddso1739410b3a.2 for ; Sat, 31 Jan 2026 06:21:13 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1769869273; x=1770474073; darn=vger.kernel.org; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:from:to:cc:subject:date:message-id:reply-to; bh=lkvUxnOL7dR+fW3oGs9jB2Diau2Xz6VAHarHsYQOkoI=; b=PvQz/QQSzvSql4xvbk3vlPdyN4paCbB9LX7SBSS68/yLbxtmRLvjFvcT64hn4lXNek ztG6HrtTkY8gOstRYwTsBh2f6L7WRafZzA8m3wwLwXZMFAE/gfUjzv8cLEJG2wahwShM O2LVMCDkcUjoJ12BgLuRHWSzsv8qWIkcpl/HPP0BFF46X8uJY7mGJK08GRPQ2JOxqDFW 6JKoiUxPxtrrtH9HZpbVehtOmINHoEUZINuR1m4J7OPRSZBIN+42gNFUBWRZ3rESoEr7 3H3tIffjevUyvzo3bUx/84cyNawtRkmQBCmd7GhhuZqKgFlLW2wSDaIf66q7Fftl+VFb oQ6A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1769869273; x=1770474073; h=cc:to:message-id:content-transfer-encoding:mime-version:subject :date:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=lkvUxnOL7dR+fW3oGs9jB2Diau2Xz6VAHarHsYQOkoI=; b=P4DBmCK4RYhmi8+goDDsYYaDdrBDxyeet7lVc0eumWfR93OV86NJqEUJND9absr0qY kuUJbEpvtvGNKmKx/u1mwIAcy7OBZDQuJI6bKIZ1UK6rqRc+wotgJZ/EDg0+JctqCs4e TaLCCrJ3Mk/rbGINagKewIIlEQuZdHuivsbVxNgH53iYSqDdDKiDP4oqMa77cqkhqFHn 7wESUoNfPlgLYZ4LiAL2CPwUktFyOA3JDryOKORoqSsYKDxjeaKS7HaAwgy1URUXfyTn lnmGehRAi5K8kkTgmECKYaemBASPyBKZp+Z0JsXBvUEYRzIaY6Vg/8Q9PLk+k2mEVxba PbPA== X-Forwarded-Encrypted: i=1; AJvYcCVAFMxbLfzEkIRcDZlCrTsNs5SOu87XMk/fyOQ/WWyXe3GwavVM3mhM+MOcselcZ8nV8kiSGt+875nzPMA=@vger.kernel.org X-Gm-Message-State: AOJu0YwgYwGPPxyJm3qJZMsZDtgUkDcQV4rwUGrLy15Gbsh+aahntYCz 9/A2Mi1Q24OlrdeHJM5akJlVe0Mtgn8syL9MmVnG/u2FXvSAfGoUx0qNiO3Ut4NJ X-Gm-Gg: AZuq6aI5vLtYYbhKu7tvo50um0bA2SqewfTAINm/zj8Tmq1pQb88hqXgx53usd1shCm UzdCw4zpf6fT843hZL1a/2TT1NfanP+oJRhiO9ooHt4h7RSJBTaP2gEehLP3/J9dDMIoZ0Hdyh8 9tztgjOA/riD3JwLZdqmt8Lv4O0iu3UpIlDdvj5GgnoxQb0LV8PuQzzEfbRF3NkT0uTHLzPuhlt x2yUs7ImRGx2QpK2o8KTapMt8pWQdNyc0XzHtY6t56GIRm2KM59BnVyEzaPaegUClTFD34Yy11r DDXtPJ8aSsONSxe45NZyRx5zcHcgKDC0w+IO9Qhf4IE9VQWr0KbKsKrT2ZFVIEr9aA2rZIUBie7 D09g0NJgH9AUAA8SQrWpX+AI+2G14VCE0+YDXv5JbPBcWzXMSNTPXmoA1PpHim4mkfHhOMPPDcS OaCb+LHyQ= X-Received: by 2002:a05:6a21:690:b0:38e:9e4c:ed5c with SMTP id adf61e73a8af0-392e0108c9cmr7004530637.52.1769869272764; Sat, 31 Jan 2026 06:21:12 -0800 (PST) Received: from junjungu-PC.localdomain ([2408:820c:9008:ba52::3a87]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3540f2cb5adsm11122965a91.3.2026.01.31.06.21.10 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 31 Jan 2026 06:21:12 -0800 (PST) From: Felix Gu Date: Sat, 31 Jan 2026 22:21:08 +0800 Subject: [PATCH] soc: dove: pmu: Fix device node reference leaks in dove_init_pmu() Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Message-Id: <20260131-dove_pmu-v1-1-1b40989778d1@gmail.com> X-B4-Tracking: v=1; b=H4sIANMPfmkC/6tWKk4tykwtVrJSqFYqSi3LLM7MzwNyDHUUlJIzE vPSU3UzU4B8JSMDIzMDQ2ND3ZT8stT4gtxSXQvjtEQzk7QkQ7PUFCWg8oKi1LTMCrBR0bG1tQC dTumvWgAAAA== X-Change-ID: 20260131-dove_pmu-83fa64fb16ed To: Andrew Lunn , Sebastian Hesselbarth , Gregory Clement , Russell King Cc: linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Felix Gu X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1769869270; l=1738; i=ustc.gu@gmail.com; h=from:subject:message-id; bh=0SqmNXMiDYeKhpDqhKZq0p/LgtJ8W3oHQkpkBHWvFaU=; b=mQoe2/qhHtne+vtIPeXSx4DDLwMyGRe3rzQKgSeUID73vUpJbHLAoljnJguQcIg4Y8UfEKO9E QcyqV/SUAjzB0+DTc7M7iMttrQJu2nLjrgcXAd4g2xg37KMwEOnU38H X-Developer-Key: i=ustc.gu@gmail.com; a=ed25519; pk=fjUXwmjchVN7Ja6KGP55IXOzFeCl9edaHoQIEUA+/hw= Use __free(device_node) cleanup attribute for domains_node and add missing of_node_put(np_pmu) calls in error paths to prevent device node reference leaks. Fixes: 44e259ac909f ("ARM: dove: create a proper PMU driver for power domai= ns, PMU IRQs and resets")Y Signed-off-by: Felix Gu --- drivers/soc/dove/pmu.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/drivers/soc/dove/pmu.c b/drivers/soc/dove/pmu.c index dd8ade8e9ee8..3b2567f20649 100644 --- a/drivers/soc/dove/pmu.c +++ b/drivers/soc/dove/pmu.c @@ -371,7 +371,7 @@ int __init dove_init_pmu_legacy(const struct dove_pmu_i= nitdata *initdata) */ int __init dove_init_pmu(void) { - struct device_node *np_pmu, *domains_node; + struct device_node *np_pmu; struct pmu_data *pmu; int ret, parent_irq; =20 @@ -380,15 +380,19 @@ int __init dove_init_pmu(void) if (!np_pmu) return 0; =20 - domains_node =3D of_get_child_by_name(np_pmu, "domains"); + struct device_node *domains_node __free(device_node) =3D + of_get_child_by_name(np_pmu, "domains"); if (!domains_node) { pr_err("%pOFn: failed to find domains sub-node\n", np_pmu); + of_node_put(np_pmu); return 0; } =20 pmu =3D kzalloc(sizeof(*pmu), GFP_KERNEL); - if (!pmu) + if (!pmu) { + of_node_put(np_pmu); return -ENOMEM; + } =20 spin_lock_init(&pmu->lock); pmu->of_node =3D np_pmu; @@ -399,6 +403,7 @@ int __init dove_init_pmu(void) iounmap(pmu->pmu_base); iounmap(pmu->pmc_base); kfree(pmu); + of_node_put(np_pmu); return -ENOMEM; } =20 --- base-commit: 33a647c659ffa5bdb94abc345c8c86768ff96215 change-id: 20260131-dove_pmu-83fa64fb16ed Best regards, --=20 Felix Gu