Re: [PATCH v14 10/12] x86/smpboot: Send INIT/SIPI/SIPI to secondary CPUs in parallel
From: Thomas Gleixner
Date: Sat Mar 11 2023 - 03:55:09 EST
On Wed, Mar 08 2023 at 17:13, Usama Arif wrote:
>
> +/* Bringup step one: Send INIT/SIPI to the target AP */
> +static int native_cpu_kick(unsigned int cpu)
> +{
> + return do_cpu_up(cpu, idle_thread_get(cpu));
This idle_thread_get() is not sufficient. bringup_cpu() does:
struct task_struct *idle = idle_thread_get(cpu);
/*
* Reset stale stack state from the last time this CPU was online.
*/
scs_task_reset(idle);
kasan_unpoison_task_stack(idle);
But with this new model neither the shadow stack gets reset nor the
kasan unpoisoning happens _before_ the to be kicked CPU starts
executing.
That needs a new function which does the get() and the above.
Thanks,
tglx