From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from galois.linutronix.de (Galois.linutronix.de [193.142.43.55]) (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 AD03A22538F for ; Sat, 22 Nov 2025 15:43:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=193.142.43.55 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763826206; cv=none; b=WkUM9Hz8bDkxcsCfGkdPgP3fR4u5/H2Ehl/3C6DaOPVnqag75IF3p4K60ebxNoPz16kVOTaQaIAveQ90zEZiwfn9Z8mK+f26SLhAIoeor0Twd2XQv1g0SGHTFjpp1w8nk3UHzisopxEoCtkxYWYhQgybUJhpNmhzkCzDbJ9ZVwA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1763826206; c=relaxed/simple; bh=QpIpdYaT6BRIp0FA9lR86EdyHP4jvbQtzyBBWk8vqGM=; h=From:To:Cc:Subject:In-Reply-To:References:Date:Message-ID: MIME-Version:Content-Type; b=vANkdJ1o7mQay15ucMgR0GbFM8beAVNOVlwW3joCYZfZiG83xWpeOVXE1+sEKp8tx9GijxC8ua5HU8JioNMKeXOPK+o9yG9XcS7ATMwD57YXYaW3K/vFb8JvKjOsbsS00gQNu1wR5NhDWJaNLiotjyeIjg3MTbBjs7WPkXXNiho= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de; spf=pass smtp.mailfrom=linutronix.de; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=ajhW/q27; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b=7H0Y4vx9; arc=none smtp.client-ip=193.142.43.55 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=linutronix.de Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=linutronix.de Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="ajhW/q27"; dkim=permerror (0-bit key) header.d=linutronix.de header.i=@linutronix.de header.b="7H0Y4vx9" From: Thomas Gleixner DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020; t=1763826201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1lVMl6/Vor/ejSnWPJK2EqOg0dcIWdv9FratQBd4NOw=; b=ajhW/q27PtqYqzW/6WCRha0Ua0srNa9Ch6I6BD8Fiw/04a6+unhJVJHTJ8KHiiNn7qATZO tG7gFpgFPp3ZYCCs2YGS1MgvJy2Ei8hlEs00bCIBAxv2HYs2pvuOR2xMp3RPYXUki2SEt0 CvfCFUDMuKhz0Yn/gLW/BuhNZeuTbw9v6IcNpza1GV5dCtL/TkpAtB8cKgRDflBxN6kWlW WzT9BeYhX8tU8LEWtc7/06pyYBLPxVYiJd/ifnBaWdyI/AqaU6pk7Y6r8gZwIZ/TGS/R7b gI+4AzRNfc7ukptE0yRRrLHRt05KxvUBdaGEK9ocZ+l+xSZ3Wf4lLxgApT4YnQ== DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=linutronix.de; s=2020e; t=1763826201; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=1lVMl6/Vor/ejSnWPJK2EqOg0dcIWdv9FratQBd4NOw=; b=7H0Y4vx9RsmkYlTCixO6t5aBPdGhEJeQKcTB2mXhHi56/Qc4Tm7BmxRWOMpS+RkNJN+jW4 QAgipfLYQw8mYlDQ== To: kernel test robot , x86-ml Cc: linux-kernel@vger.kernel.org, Frederic Weisbecker Subject: Re: [tip:timers/core] BUILD SUCCESS WITH UNVERIFIED WARNING 7dec062cfcf27808dbb70a0b231d1a698792743d In-Reply-To: <202511221509.FrXNMjDM-lkp@intel.com> References: <202511221509.FrXNMjDM-lkp@intel.com> Date: Sat, 22 Nov 2025 16:43:20 +0100 Message-ID: <87v7j2hy3r.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 Sat, Nov 22 2025 at 15:20, kernel test robot wrote: > tree/branch: https://git.kernel.org/pub/scm/linux/kernel/git/tip/tip.git timers/core > branch HEAD: 7dec062cfcf27808dbb70a0b231d1a698792743d timers/migration: Exclude isolated cpus from hierarchy > > Unverified Warning (likely false positive, kindly check if interested): > > kernel/time/timer_migration.c:1866 tmigr_setup_groups() error: we previously assumed 'start' could be null (see line 1764) Yes, the code is prone to that problem, but the two callers do the right thing. Though this can be simplified. Thanks tglx --- kernel/time/timer_migration.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) --- a/kernel/time/timer_migration.c +++ b/kernel/time/timer_migration.c @@ -1750,12 +1750,12 @@ static void tmigr_connect_child_parent(s trace_tmigr_connect_child_parent(child); } -static int tmigr_setup_groups(unsigned int cpu, unsigned int node, - struct tmigr_group *start, bool activate) +static int tmigr_setup_groups(unsigned int cpu, unsigned int node, struct tmigr_group *start) { struct tmigr_group *group, *child, **stack; int i, top = 0, err = 0, start_lvl = 0; bool root_mismatch = false; + bool activate = false; stack = kcalloc(tmigr_hierarchy_levels, sizeof(*stack), GFP_KERNEL); if (!stack) @@ -1764,6 +1764,7 @@ static int tmigr_setup_groups(unsigned i if (start) { stack[start->level] = start; start_lvl = start->level + 1; + activate = true; } if (tmigr_root) @@ -1893,7 +1894,7 @@ static int tmigr_add_cpu(unsigned int cp guard(mutex)(&tmigr_mutex); - ret = tmigr_setup_groups(cpu, node, NULL, false); + ret = tmigr_setup_groups(cpu, node, NULL); /* Root has changed? Connect the old one to the new */ if (ret >= 0 && old_root && old_root != tmigr_root) { @@ -1910,7 +1911,7 @@ static int tmigr_add_cpu(unsigned int cp * otherwise the old root may not be active as expected. */ WARN_ON_ONCE(!per_cpu_ptr(&tmigr_cpu, raw_smp_processor_id())->available); - ret = tmigr_setup_groups(-1, old_root->numa_node, old_root, true); + ret = tmigr_setup_groups(-1, old_root->numa_node, old_root); } return ret;