[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-Id: <20220411152233.474129-1-steven.price@arm.com>
Date: Mon, 11 Apr 2022 16:22:31 +0100
From: Steven Price <steven.price@....com>
To: Thomas Gleixner <tglx@...utronix.de>,
Vincent Donnefort <vincent.donnefort@....com>,
Peter Zijlstra <peterz@...radead.org>
Cc: Steven Price <steven.price@....com>, linux-kernel@...r.kernel.org,
Baokun Li <libaokun1@...wei.com>,
Dongli Zhang <dongli.zhang@...cle.com>,
Randy Dunlap <rdunlap@...radead.org>,
Valentin Schneider <valentin.schneider@....com>,
Yuan ZhaoXiong <yuanzhaoxiong@...du.com>,
YueHaibing <yuehaibing@...wei.com>,
Dietmar Eggemann <dietmar.eggemann@....com>
Subject: [PATCH v3 0/2] cpu/hotplug: Fix cpuhp_cpu_state used before init
Currently it's possible to trigger a case where the cpuhp_cpu_state::cpu
member is used before it has been initialised. This can cause CPU 0 to
be erroneously marked as dying and trigger a scheduler panic (full
details in v1[1]).
The two patches here fix the root cause by removing the 'cpu' member
altogether and to prevent similar confusion in the future ensure that
the cpuhp_cpu_state structures are initialised before any hotplugging
occurs.
Changes since v2[2]:
* Remove the cpu member altogether (first patch)
* Move the initialisation of cpuhp_cpu_state as suggested by tglx
(second patch)
[1] https://lore.kernel.org/all/20220225134918.105796-1-steven.price@arm.com/
[2] https://lore.kernel.org/all/20220316153637.288199-1-steven.price@arm.com/
Steven Price (2):
cpu/hotplug: Remove the 'cpu' member of cpuhp_cpu_state
cpu/hotplug: Initialise all cpuhp_cpu_state structs earlier
kernel/cpu.c | 58 ++++++++++++++++++++++++++++------------------------
1 file changed, 31 insertions(+), 27 deletions(-)
--
2.25.1
Powered by blists - more mailing lists