From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from lists.ozlabs.org (lists.ozlabs.org [112.213.38.117]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 78B55CC6B1D for ; Wed, 14 Oct 2026 10:57:15 +0000 (UTC) Received: from boromir.ozlabs.org (localhost [127.0.0.1]) by lists.ozlabs.org (Postfix) with ESMTP id 4j4Sp13hzdz2yVd; Wed, 14 Oct 2026 21:57:13 +1100 (AEDT) Authentication-Results: lists.ozlabs.org; arc=none smtp.remote-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1791951897; cv=none; b=DjDe15tbx1vPRT9MHrimG5KtuhXliDgEy44qzIkHx7gX3o7zPXwXIUk6E0tniRRIUuEc86KIQi4/BS23HnunJtM1m6jaiiU51hpnzBYUd4icMYaUNFHTPDi/3Nzs9hcHVJdiy54WS0iiLkTopLdLVognCf7QnNXOZRMMe7+QvliL7RHcQrYHfbdP3IQcFi/rmZ/uxyokslxhcD1vKsGgXvyaihzHLJtw6kkv1yU4XZ6DynPbcRNDsGGNc4UMA0n/YXnKVgvrzKqfA1nVMrCm/T4O+KO8s+dv+wUbqcm5uBTTwuKWieRjDyQobYNeQY20RY7MWbnO4O64dTG6KwIsRA== ARC-Message-Signature: i=1; a=rsa-sha256; d=lists.ozlabs.org; s=201707; t=1791951897; c=relaxed/relaxed; bh=R/YWOWusTmnn9Tx8/iLnPWjpANYDhhlrDY+RymDC9lQ=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=OgsbQHrl8kmMAtNLcP3C6UQjjC4pjaGcDgfIrZi3yEPlNfZVu8puEZBc2lYdX9u3Gbov/V/iT6nbtK9ImkK63fmMCeatRp5kkAf5BiZPumENzZawXVg3lvTlulQvrphXFhIuHMM+3qr5xgSHnydpPxsSEki5MlUmb7I2eaJEhiclS8HUqRo3Rsy/f+J3nt60EET+0CDk8GPRb0Fc7vSIZZQfb0cAmv2+ZVJv/EwMIrAsWvzNFH/HSsuyMesFsajy4gVMxV2tGUMm0SIbfIimN5DpNBz01w/NcMQIGcCqmtCCHZ5LXYG1Pd8aAMZgLrXxHmdvNQSisefTwyH1bUOIkQ== ARC-Authentication-Results: i=1; lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=mfBIXI1u; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=Z9sks25u; dkim-atps=neutral; spf=pass (client-ip=205.220.168.131; helo=mx0a-0031df01.pphosted.com; envelope-from=zhongqiu.han@oss.qualcomm.com; receiver=lists.ozlabs.org) smtp.mailfrom=oss.qualcomm.com Authentication-Results: lists.ozlabs.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: lists.ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=qualcomm.com header.i=@qualcomm.com header.a=rsa-sha256 header.s=qcppdkim1 header.b=mfBIXI1u; dkim=pass (2048-bit key; unprotected) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.a=rsa-sha256 header.s=google header.b=Z9sks25u; dkim-atps=neutral Authentication-Results: lists.ozlabs.org; spf=pass (sender SPF authorized) smtp.mailfrom=oss.qualcomm.com (client-ip=205.220.168.131; helo=mx0a-0031df01.pphosted.com; envelope-from=zhongqiu.han@oss.qualcomm.com; receiver=lists.ozlabs.org) Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange x25519 server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by lists.ozlabs.org (Postfix) with ESMTPS id 4j4J5N27Ydz2yVd for ; Wed, 14 Oct 2026 15:24:54 +1100 (AEDT) Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 69E24tM81125180 for ; Wed, 14 Oct 2026 04:24:51 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:content-type:date:from:in-reply-to :message-id:mime-version:references:subject:to; s=qcppdkim1; bh= R/YWOWusTmnn9Tx8/iLnPWjpANYDhhlrDY+RymDC9lQ=; b=mfBIXI1uLAOYHNpx M+pskrgQQbpJj/+60jNFLzZFxHw2r6RDPCnEYQak0C68FqNpjyua8eynX8SGcd1Y 2J1k4+K/t/BHMHnNSVt94VWd+zjp21ADu/+gT5GHSxkze+TVoAJ8ZcEJUegyUcj3 l02tjV+K80HtT6WpkHCz8hJA1pNAkGFI0embeDgtOOxCvfUQQ4c9lcW5zqnNjbim +IIDJbRdlgftjP27N4Ac7M+zpCtJs+D/UR8kPP45vYPVDrD5gR3xqxJhNmnwyIgi K4kI1TWbCLNx+Vt70sIiD4gGFEtC25wsPGiQD9gMthErtmViPMA3SxZL1fMU3msx O1ZOMA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4h9sg825yw-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Wed, 14 Oct 2026 04:24:51 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2df8d1e91c9so74354815ad.0 for ; Tue, 13 Oct 2026 21:24:51 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1791951891; x=1792556691; darn=lists.ozlabs.org; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:from:to:cc:subject:date:message-id:reply-to :content-type; bh=R/YWOWusTmnn9Tx8/iLnPWjpANYDhhlrDY+RymDC9lQ=; b=Z9sks25uRGXU5SoYoH3gZjs53Pm2bUI3Ca5vXSahdF8h+t22IDacbtr6R9knS9ZK7t pb87Vdzg50OaT4BqIUZL+FJzJ/4HHlx492Ivn5mZfrGICGKLThZxqEQJYD/CvRqDeSlg a9ZVF7hBBcv0MuJrmTdwWhhHNSDbN9ccRfMnoCUEKJNzcSnbs/bdSDQOHuOq350pVKJn L4dQgwh8DcOJFECUT/7dflFrHn+R4akappzO0dozBTDYzWrEjHEKH1MrQRq3ZAODNhOv jgo6r884WYZaK66V8silBlVixgClO56mji9m+L4fSDP3puTPepvSuvZYEBkTg4EW/e6h aiXw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20260707; t=1791951891; x=1792556691; h=content-transfer-encoding:content-type:in-reply-to:from :content-language:references:cc:to:subject:user-agent:mime-version :date:message-id:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to:content-type; bh=R/YWOWusTmnn9Tx8/iLnPWjpANYDhhlrDY+RymDC9lQ=; b=d/w+hCnLoZDqDUST+yVNaoZEATNOZd5Rh0gZxAb1jTSn+5fH/3sTVPJM3X04WsKpx5 q9GAjWl9W05j5wQBiG2OFrViv0zzQRyA1s2hhRlDVJ+YOaVwsWgvjrNzA8gbEkVoF0Ml C3tPckI0jNpNkWfpfSRLwRFzmA1RChJt/163ZF2fvLmIQy3NdpueCLkXu1+35bq/rexQ H18x7IUTgWss3ooGqTUbKa0nQAt0a00WUVKUDsZ9xPSAMBKwmijsLCUIUp3t24X1f/Sc QM9l8SHFwzyIJy4S3CrareWwBTlIpjcuKA3Sp39IiSVT5e5Zz3snQ7c1QuAvziiZTKQc yYjA== X-Forwarded-Encrypted: i=1; AKwUvBy1X11Tu2/YeOvgbOy16L9b19qPQR8tq9vyB7thR6EOh3JCZZMedeZBDjvno9Jv8d6tsyyaMyWU8f98Tk4=@lists.ozlabs.org X-Gm-Message-State: AFq9FYKFKfFsfV/cRH69eaP15FqsggzGLl9CFijBSQ62kMd1i8jWykZm i/Mqs9cfL02YfhfaG5PhHVtidmyMxxWjgFDpMVcq5g8S6CQPlZp65T0GDpO0JhpXtJYhduhSvfO lsGQZ9ZWP5QphOx053Y2ezvViqhc0XHPIzUkWNWMqOifdIOrNJx7WD0xj1+B1HiD7elPN X-Gm-Gg: AYBFou3ZlAL4AgRxUx68LCPH6ENisCD+XiyX+tMMU6GL7gtLaxqH7xhbNMLf5giMROs bUF1+V2MO9PyxYmjWHZ100ArxBxSmOu2GUWhtwLEkOqn+er6A57V43C0nHHow3r2GATXBx3glkH Vv3twiQHVhMVyA56lWDYEg6QbG0nhHe+ade6UK/jLJ+ZDKzTDAsKVNSevx6tcYeCjXTLN20q91G NhW2D8mXWM1dSQUp1fse286o9QnFUUIuS2GKL9nPtEtsbOLg63x4DVYQvKBJaBivgPQruXawlhB r4wN85LsFcbvEtcyvWRkU2fl/6/Mn1IZggWHfI7yBOuhOFXKeXF7guyPRVSrx4Z576Mtf943nXw mRVNGqJEYdzDtq9uxWmhFJDFKV44afF9TWAbp1X2I38vVGNVSkRTuz9zFgGJaG/QzqPZlc+QC X-Received: by 2002:a17:90b:35cc:b0:3a5:147a:3b63 with SMTP id 98e67ed59e1d1-3ab3a33db36mr12329627a91.8.1791951890982; Tue, 13 Oct 2026 21:24:50 -0700 (PDT) X-Received: by 2002:a17:90b:35cc:b0:3a5:147a:3b63 with SMTP id 98e67ed59e1d1-3ab3a33db36mr12329579a91.8.1791951890405; Tue, 13 Oct 2026 21:24:50 -0700 (PDT) Received: from [10.133.33.242] (tpe-colo-wan-fw-bordernet.qualcomm.com. [103.229.16.4]) by smtp.gmail.com with ESMTPSA id 98e67ed59e1d1-3ac63279277sm860530a91.1.2026.10.13.21.24.40 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 13 Oct 2026 21:24:49 -0700 (PDT) Message-ID: <252e86f2-9663-4ac7-a19e-6056b44e769b@oss.qualcomm.com> Date: Wed, 14 Oct 2026 12:24:38 +0800 X-Mailing-List: linuxppc-dev@lists.ozlabs.org List-Id: List-Help: List-Owner: List-Post: List-Archive: , List-Subscribe: , , List-Unsubscribe: Precedence: list MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH 04/11] cpufreq: Initialize kobj_type release callback in ondemand and conservative governors To: Ian Rogers , Greg Kroah-Hartman , "Rafael J . Wysocki" , Danilo Krummrich , Miguel Ojeda , Kees Cook , Nathan Chancellor Cc: Nick Desaulniers , Bill Wendling , Justin Stitt , Jonathan Corbet , Madhavan Srinivasan , Michael Ellerman , Nicholas Piggin , Christophe Leroy , Nayna Jain , Yoshinori Sato , Rich Felker , John Paul Adrian Glaubitz , Viresh Kumar , David Teigland , Alexander Aring , Juergen Gross , Stefano Stabellini , Oleksandr Tyshchenko , Heiko Carstens , Vasily Gorbik , Alexander Gordeev , Christian Borntraeger , Sven Schnelle , Richard Weinberger , Zhihao Cheng , Felix Kuehling , Alex Deucher , =?UTF-8?Q?Christian_K=C3=B6nig?= , driver-core@lists.linux.dev, llvm@lists.linux.dev, linux-hardening@vger.kernel.org, linux-doc@vger.kernel.org, linuxppc-dev@lists.ozlabs.org, linux-sh@vger.kernel.org, linux-pm@vger.kernel.org, linux-acpi@vger.kernel.org, gfs2@lists.linux.dev, xen-devel@lists.xenproject.org, linux-s390@vger.kernel.org, linux-mtd@lists.infradead.org, amd-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org, zhongqiu.han@oss.qualcomm.com References: <20261013223946.1836757-1-irogers@google.com> <20261013223946.1836757-5-irogers@google.com> Content-Language: en-US From: Zhongqiu Han In-Reply-To: <20261013223946.1836757-5-irogers@google.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit X-Proofpoint-GUID: iglPPzNnH4c6bGaxs7ogH8gq-7IFyr_M X-Proofpoint-Spam-Info: AW1haW4tMjYxMDE0MDAxNyBTYWx0ZWRfXxxvTIQO8UyPZ K68nGuylHN/0S0U9cHHbsQH8oEKIVc+sWn06/jxDw0dRnmmSowPjvG/K2OuCBCw1JXvW/LEmSos vmE6YuDkTdNmzgvCQHYeImf3IEGebWI= X-Proofpoint-ORIG-GUID: iglPPzNnH4c6bGaxs7ogH8gq-7IFyr_M X-Authority-Analysis: v=2.4 cv=PYJqFShd c=1 sm=1 tr=0 ts=6acf0413 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=nuhDOHQX5FNHPW3J6Bj6AA==:17 a=IkcTkHD0fZMA:10 a=660iZSQnnn4A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=1XWaLZrsAAAA:8 a=Stt4M9KXtKJ5ZbChFzoA:9 a=QEXdDO2ut3YA:10 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYxMDE0MDAxNyBTYWx0ZWRfX3VpWH9bAWstE 54FVlXewUqxKzxKKWqhaZbIgIzuijpem3xS230fyy5+k5fa3BAXJBxOAiFK0Z/N6zo4jH1T0XU7 B3FbHZ6ifIR0HCPsX2ZcA94KIPykrOxAccPS8YPrMKD4dKkF+y5TPJBWK2gmBs/djIi6gbwgRyQ RnpJCwxY21ZLrNoArMVm8tzdGB/cw91tGQj6PxcSX6n5VwPCHxi/LhcKXJqlGbmcUTcMYXUCXce bYdoS5KXnx13BPqIcUneteiXXZofUhwjf7W8UQMN1/WKskhTFwXtpTcBlSJFzm/Q6YTHpasAprA qd3PtFDmOewezjjLyZ4Q2oDb84l8mqxugQbNiwvij5jgg38js86CG91ZU45jlpQWRI7+RjgeTr5 TwH/1YnbLawcYgmvHAZq4alrIMg/oyxTgpuU4WOBHzSAcIGvHvyshCLk6NrhpP2NboGLQNbEDfp 5w0AhPSfdKqpoeQCMxw== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1176,Hydra:6.1.134,FMLib:17.12.100.49 definitions=2026-10-13_01,2026-10-09_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 bulkscore=0 adultscore=0 lowpriorityscore=0 clxscore=1011 suspectscore=0 spamscore=0 impostorscore=0 malwarescore=0 priorityscore=1501 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2610080000 definitions=main-2610140017 Hi Ian, Thanks a lot for the patch. On 10/14/2026 6:39 AM, Ian Rogers wrote: > Export cpufreq_dbs_data_release() and set .kobj_type.release in the > ondemand and conservative governors so their gov_attr_set kobjects have > a valid release callback, matching cpufreq_ governor_dbs. Commit a85ee6401a47 ("cpufreq: governor: Use kobject release() method to free dbs_data") has already addressed the missing release callback issue(it adds the missing cpufreq_dbs_data_release() function.), with its Fixes tag pointing to c4435630361d. Besides, "matching cpufreq_ governor_dbs." seems to be a typo? > > This prepares for annotating struct kobj_type::release with > __require_explicit_initialization. It would be better to use "cpufreq: governor:" as the subject prefix. > > Fixes: c4435630361d ("cpufreq: governor: New sysfs show/store callbacks for governor tunables") Since a85ee6401a47 ("cpufreq: governor: Use kobject release() method to free dbs_data") has already fixed the missing release callback issue, current cpufreq patch 4/11 seems to only move the release callback initialization to the static initializer in preparation for 11/11. The same callback is already set at runtime in cpufreq_dbs_governor_init(), so there is no functional change or bug fix here. Should we drop the Fixes tag? So, at least for cpufreq, the issue described in the cover letter doesn't seem to exist, right? "Patches 2-10 fix 10 struct kobj_type definitions where dynamically allocated kobjects, ksets, or enclosing structures were either leaked on kobject_put() or freed prematurely before kobject release" > Assisted-by: Antigravity:gemini-3.1-pro > Signed-off-by: Ian Rogers > --- > drivers/cpufreq/cpufreq_conservative.c | 5 ++++- > drivers/cpufreq/cpufreq_governor.c | 3 ++- > drivers/cpufreq/cpufreq_governor.h | 1 + > drivers/cpufreq/cpufreq_ondemand.c | 5 ++++- > 4 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/cpufreq/cpufreq_conservative.c b/drivers/cpufreq/cpufreq_conservative.c > index 0b32ae28ec85..38c3bd5bf75a 100644 > --- a/drivers/cpufreq/cpufreq_conservative.c > +++ b/drivers/cpufreq/cpufreq_conservative.c > @@ -316,7 +316,10 @@ static void cs_limits(struct cpufreq_policy *policy) > > static struct dbs_governor cs_governor = { > .gov = CPUFREQ_DBS_GOVERNOR_INITIALIZER("conservative"), > - .kobj_type = { .default_groups = cs_groups }, > + .kobj_type = { > + .release = cpufreq_dbs_data_release, > + .default_groups = cs_groups, > + }, Nit: In that case, may I know can we also remove the following runtime assignment from cpufreq_dbs_governor_init() as below: gov->kobj_type.release = cpufreq_dbs_data_release; > .gov_dbs_update = cs_dbs_update, > .alloc = cs_alloc, > .free = cs_free, > diff --git a/drivers/cpufreq/cpufreq_governor.c b/drivers/cpufreq/cpufreq_governor.c > index 710d93ec89b5..97b64985927d 100644 > --- a/drivers/cpufreq/cpufreq_governor.c > +++ b/drivers/cpufreq/cpufreq_governor.c > @@ -404,7 +404,7 @@ static void free_policy_dbs_info(struct policy_dbs_info *policy_dbs, > gov->free(policy_dbs); > } > > -static void cpufreq_dbs_data_release(struct kobject *kobj) > +void cpufreq_dbs_data_release(struct kobject *kobj) > { > struct dbs_data *dbs_data = to_dbs_data(to_gov_attr_set(kobj)); > struct dbs_governor *gov = dbs_data->gov; > @@ -412,6 +412,7 @@ static void cpufreq_dbs_data_release(struct kobject *kobj) > gov->exit(dbs_data); > kfree(dbs_data); > } > +EXPORT_SYMBOL_GPL(cpufreq_dbs_data_release); > > int cpufreq_dbs_governor_init(struct cpufreq_policy *policy) > { > diff --git a/drivers/cpufreq/cpufreq_governor.h b/drivers/cpufreq/cpufreq_governor.h > index 73b8ed7cfaae..c03d067f42eb 100644 > --- a/drivers/cpufreq/cpufreq_governor.h > +++ b/drivers/cpufreq/cpufreq_governor.h > @@ -148,6 +148,7 @@ static inline struct dbs_governor *dbs_governor_of(struct cpufreq_policy *policy > } > > /* Governor callback routines */ > +void cpufreq_dbs_data_release(struct kobject *kobj); > int cpufreq_dbs_governor_init(struct cpufreq_policy *policy); > void cpufreq_dbs_governor_exit(struct cpufreq_policy *policy); > int cpufreq_dbs_governor_start(struct cpufreq_policy *policy); > diff --git a/drivers/cpufreq/cpufreq_ondemand.c b/drivers/cpufreq/cpufreq_ondemand.c > index 9942dbb38dae..7386d043c665 100644 > --- a/drivers/cpufreq/cpufreq_ondemand.c > +++ b/drivers/cpufreq/cpufreq_ondemand.c > @@ -374,7 +374,10 @@ static struct od_ops od_ops = { > > static struct dbs_governor od_dbs_gov = { > .gov = CPUFREQ_DBS_GOVERNOR_INITIALIZER("ondemand"), > - .kobj_type = { .default_groups = od_groups }, > + .kobj_type = { > + .release = cpufreq_dbs_data_release, > + .default_groups = od_groups, > + }, > .gov_dbs_update = od_dbs_update, > .alloc = od_alloc, > .free = od_free, -- Thx and BRs, Zhongqiu Han