From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id E448B2D94AF for ; Wed, 4 Feb 2026 15:08:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770217707; cv=none; b=lVXuMbG1hrYE9FokQSu9y0T4Yqu0hY5Ita5YrTiHJEzY8rY0M526TfNhb8FoIAGUGLW9lRx77LafABizuZCOcLNdVzBaoEb4O1HBe2ZrBZNmXSp9Uu2lm8bBmu4LaYDuy4Fgu9qmdPoaFlm6RnGYglXvrmVrMCeMynN1qxNPX9E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770217707; c=relaxed/simple; bh=eKzudA9k3HpD9CDIqj2kA4RQsMccxhHJlQEwGAehRkI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=GEmJM+WbsrH3w8+nE6ZHC2y0qyBmf1xTLqHm3QOfLN54b3CZH3rAbFEZg2TMdn8IBernpcdigrkILc2vjw6+kMApwOhKnR80Q6FviQqK15I+Dt1NpkhWPfktoiA2Ybe+H+pH+UTG/WWqyXEfl09MmscSv6jvIL4UHmOnVwSY7G4= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Ae/Dyegc; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Ae/Dyegc" Received: by smtp.kernel.org (Postfix) with ESMTPSA id 2E31DC19423; Wed, 4 Feb 2026 15:08:25 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1770217706; bh=eKzudA9k3HpD9CDIqj2kA4RQsMccxhHJlQEwGAehRkI=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=Ae/DyegcbT0NSoQdI+e+HQ3oqOvkJKTSGAZcSKLwgwYsCbkM4qpGyevARWTtP6Yzu GXfELsU5oXCcS0HH4fh64QTSAlglx0JUw6PwOgn+vtGtZHtGtW1Cd0h9peFh48FwKd B7iZpN1H4pHqa4MHjLnw3ixmCw6AaTBLI6+VvuG2rnvrEB00FxNGGPNLSg5zh5sVwH gWpOvBzUfHwC6SV9t0oXfCB+XY/cVWPI7O3yQvK+ntBnjn1uBgJcUp7peAsFXiMAh9 f6hiAwf5gQht4pxD3NRcH/78+Oj7iDta72sljy7r75MdAZnw/cB3z+omZ2tsrepIgs 7KOuv7n9Fi9QQ== From: Thomas Gleixner To: Zhan Xusheng , Anna-Maria Behnsen Cc: linux-kernel@vger.kernel.org, Zhan Xusheng Subject: Re: [PATCH] timers/migration: Ensure proper resource cleanup on error in tmigr_init In-Reply-To: <20260204085018.57764-1-zhanxusheng@xiaomi.com> References: <20260204085018.57764-1-zhanxusheng@xiaomi.com> Date: Wed, 04 Feb 2026 16:08:22 +0100 Message-ID: <87sebg1r89.ffs@tglx> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain On Wed, Feb 04 2026 at 16:50, Zhan Xusheng wrote: > Free resources allocated by zalloc_cpumask_var and kcalloc on failure. > > Signed-off-by: Zhan Xusheng > --- > kernel/time/timer_migration.c | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/kernel/time/timer_migration.c b/kernel/time/timer_migration.c > index 18dda1aa782d..c2b3aa6946c1 100644 > --- a/kernel/time/timer_migration.c > +++ b/kernel/time/timer_migration.c > @@ -1994,7 +1994,7 @@ static int __init tmigr_init(void) > > tmigr_level_list = kcalloc(tmigr_hierarchy_levels, sizeof(struct list_head), GFP_KERNEL); > if (!tmigr_level_list) > - goto err; > + goto err_free_cpumask; > > for (i = 0; i < tmigr_hierarchy_levels; i++) > INIT_LIST_HEAD(&tmigr_level_list[i]); > @@ -2007,15 +2007,21 @@ static int __init tmigr_init(void) > ret = cpuhp_setup_state(CPUHP_TMIGR_PREPARE, "tmigr:prepare", > tmigr_cpu_prepare, NULL); > if (ret) > - goto err; > + goto err_free_level_list; > > ret = cpuhp_setup_state(CPUHP_AP_TMIGR_ONLINE, "tmigr:online", > tmigr_set_cpu_available, tmigr_clear_cpu_available); > if (ret) > - goto err; > + goto err_free_level_list; Which leaves the prepare hotplug state registered .... > return 0; > > +err_free_level_list: > + kfree(tmigr_level_list); > + > +err_free_cpumask: > + free_cpumask_var(tmigr_available_cpumask); > + > err: > pr_err("Timer migration setup failed\n"); > return ret;