From nobody Sun Dec 14 06:34:42 2025 Received: from mail-pf1-f182.google.com (mail-pf1-f182.google.com [209.85.210.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 33FC2313274 for ; Fri, 12 Dec 2025 09:29:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=209.85.210.182 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765531765; cv=none; b=VaaHxywQIGJ3MEkW4O7Erf5O/qPtl7GKtDj+ZehZX0PkvhMD1kqAYF/A2n9hh1XlgTSKnDRVwuAy7n3PvO2T5Hwx5+Fum1yhO2zPnULPtW5060MPcTLrUsoD4P9v3ltWHwzts5NDh+dFNdh0oVQalEurCtEYynJVK9IU9yY8AiA= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1765531765; c=relaxed/simple; bh=xbfbJ+D25xL5Y2kJ+E8oaCoCd5FlSh9bYUODypEu0zU=; h=From:To:Cc:Subject:Date:Message-Id:MIME-Version; b=QIFTfbXvLOp1KDzampFTVV3PizRQc3ygdVfUkAkx297wbQqE49hIJYpvdmWkYDAvtQt4TQTSKU17Lm+OCGqi7vzzxYle+yzO1+JbD5M73WJoCTQDEelmyUm84ECipQpuln6SUHwk1kj8mgsu83vTvaIp+ZUw7670xJUnion89GE= 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=cb/dtfAV; arc=none smtp.client-ip=209.85.210.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="cb/dtfAV" Received: by mail-pf1-f182.google.com with SMTP id d2e1a72fcca58-7b6dd81e2d4so1044547b3a.0 for ; Fri, 12 Dec 2025 01:29:24 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1765531763; x=1766136563; 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=TqBCCuMDo8XkanA9t4q1Yalkj0pckYKIk41K6zsONlc=; b=cb/dtfAVIUQZFlLOHUPkfGReKTW+SvEDtxNcQAkDJjxWRbviR56ev/6RCyQxwKzipo b2ScCJipi4UBaECatIfpMX0Va59TfsOkVcfYI9/xeQyIKycodPRnVl+edRtqGC6E1VFG M6BKCQHU2na0CW85gm250hyOd6eh3Y6p0/96TJUSruZ/FLUi5oyf//oOgHw4ngjFaVVJ GIJ3fM1w+PUSFLTNr2WoxYnH6JKLetT356+bKSODsMId/YokfavFBRl1A1yETMmGHL43 jkTtZ1oZ5J5/O3Ajo+qrt33/wKh4IgzMjBlZ9VgrDaSgMxm3NLww0CHlwFxYQkgkwXwJ 6L7g== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1765531763; x=1766136563; 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=TqBCCuMDo8XkanA9t4q1Yalkj0pckYKIk41K6zsONlc=; b=nmE3A5B6yiD3CZg4YSn/3sMPHYirpwMnBe1flGGsII+Tx5NjP7SL9110jxSYK14UMH pLUtlaE6mn2vJXyygZtohwJh74TLEjC6jE5BYn6vkOmWQkqSDR5u67ldI2+LLHNBmZra Il/2LyG1rC9q5IB1LXaKIgpKDvLa1RMiOicWI7QvXO8JwWUSUT2/LudIE4E9MzLbfnjF xVa0tGiARU+iukp+W0Rkl/qkRoafIAn9DlmntWLFOmhySW01Bi18aXkUlIQRdzLf84Vq Fi2fSV0EKjbarhMpgXNtUgM9v2sV376FAsouguxj0Dv4VITTrb4mghXv67qTJSHLMNK5 s3OA== X-Forwarded-Encrypted: i=1; AJvYcCXDbN4w5kIeZ6eMjpoaW+tlq1mH/3mjjOYcN9IFjxnPzFfxZdbdQS/m+mkb1yW77k2Qj/Yfi3Gb+3z+cE8=@vger.kernel.org X-Gm-Message-State: AOJu0YzwuwuXIyreS5EnTv7gylJXkmhVs4wODksp3w3wTbxEVCwBEQ+e pBROsZ697hr804Arktn0Sw1rUdxdG31jcyoO2CI1z/zaK220sJ2BbGjr X-Gm-Gg: AY/fxX5Z90NYu49Hx/EhC0+z8tsN27QOk68ZWA+2AuTx8hQIyEH4UZ5qCN+ptTdeEx8 6BbpJxYIdgMwDEIUivKrfgRx9F/LERbtUa3TXQTPCC9b5HQ1pBKXQcy5MS9XgQkmtgXO4txz1dQ qX8JFMeDQR95oRLOI87fqBxu6+p1ozpPOfF3Gy+/PVXhD1o+qGwyfI/ruNP3ppj4QkpsJsE74WV p/ghhHuPiK1u/rI/IyAI4h+Pb2hNPPHHJ7dadgUuPtZVoIrLSre0boxCLqTP4w51+T2P86r/S1e NxsaUKlzEPE5SUpHRcftohM6KJJr3mEmT8RydA4/P3WSI6qOVm0bpOebThzmt8obbWqO8xu5d/C mcICJUdSrZ8Nzj8TAeC+pHidAgrpAZzpv1jb3R89LcLYkGsG/GBNxdPil/I48c1Oa0eTx06zwMM M1PA3R47mi X-Google-Smtp-Source: AGHT+IE4GkrmjiEKubwBC3E06sLn47erp8gSJb/6WMPDYnjsxpuc5QHpftFLPESuDZbHLqLMyjd9pg== X-Received: by 2002:a05:6a21:e083:b0:34f:e712:348d with SMTP id adf61e73a8af0-369ae1a9b27mr1432502637.30.1765531763439; Fri, 12 Dec 2025 01:29:23 -0800 (PST) Received: from c45b92c47440.. ([202.120.234.58]) by smtp.googlemail.com with ESMTPSA id 41be03b00d2f7-c0c206cf429sm4753659a12.0.2025.12.12.01.29.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 12 Dec 2025 01:29:22 -0800 (PST) From: Miaoqian Lin To: "Rafael J. Wysocki" , Viresh Kumar , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , "Christophe Leroy (CS GROUP)" , Sudeep Holla , Paul Mackerras , Benjamin Herrenschmidt , linux-pm@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-kernel@vger.kernel.org Cc: linmq006@gmail.com, stable@vger.kernel.org Subject: [PATCH] cpufreq: pmac64-cpufreq: Fix refcount leak on error paths Date: Fri, 12 Dec 2025 13:29:09 +0400 Message-Id: <20251212092910.2454034-1-linmq006@gmail.com> X-Mailer: git-send-email 2.25.1 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" of_cpu_device_node_get obtain a reference to the device node which must be released with of_node_put(). Add missing of_node_put() on error paths to fix. Found via static analysis and code review. Fixes: 760287ab90a3 ("cpufreq: pmac64-cpufreq: remove device tree parsing f= or cpu nodes") Fixes: 4350147a816b ("[PATCH] ppc64: SMU based macs cpufreq support") Cc: stable@vger.kernel.org Signed-off-by: Miaoqian Lin --- drivers/cpufreq/pmac64-cpufreq.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/drivers/cpufreq/pmac64-cpufreq.c b/drivers/cpufreq/pmac64-cpuf= req.c index 80897ec8f00e..0e0205b888ba 100644 --- a/drivers/cpufreq/pmac64-cpufreq.c +++ b/drivers/cpufreq/pmac64-cpufreq.c @@ -356,8 +356,10 @@ static int __init g5_neo2_cpufreq_init(struct device_n= ode *cpunode) use_volts_smu =3D 1; else if (of_machine_is_compatible("PowerMac11,2")) use_volts_vdnap =3D 1; - else - return -ENODEV; + else { + rc =3D -ENODEV; + goto bail_noprops; + } =20 /* Check 970FX for now */ valp =3D of_get_property(cpunode, "cpu-version", NULL); @@ -430,8 +432,11 @@ static int __init g5_neo2_cpufreq_init(struct device_n= ode *cpunode) * supporting anything else. */ valp =3D of_get_property(cpunode, "clock-frequency", NULL); - if (!valp) - return -ENODEV; + if (!valp) { + rc =3D -ENODEV; + goto bail_noprops; + } + max_freq =3D (*valp)/1000; g5_cpu_freqs[0].frequency =3D max_freq; g5_cpu_freqs[1].frequency =3D max_freq/2; --=20 2.25.1