[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <87y1o3acrh.ffs@tglx>
Date: Sat, 11 Mar 2023 10:54:58 +0200
From: Thomas Gleixner <tglx@...utronix.de>
To: Usama Arif <usama.arif@...edance.com>, dwmw2@...radead.org,
kim.phillips@....com, brgerst@...il.com
Cc: piotrgorski@...hyos.org, oleksandr@...alenko.name,
arjan@...ux.intel.com, mingo@...hat.com, bp@...en8.de,
dave.hansen@...ux.intel.com, hpa@...or.com, x86@...nel.org,
pbonzini@...hat.com, paulmck@...nel.org,
linux-kernel@...r.kernel.org, kvm@...r.kernel.org,
rcu@...r.kernel.org, mimoja@...oja.de, hewenliang4@...wei.com,
thomas.lendacky@....com, seanjc@...gle.com, pmenzel@...gen.mpg.de,
fam.zheng@...edance.com, punit.agrawal@...edance.com,
simon.evans@...edance.com, liangma@...ngbit.com,
David Woodhouse <dwmw@...zon.co.uk>,
Usama Arif <usama.arif@...edance.com>,
"Guilherme G . Piccoli" <gpiccoli@...lia.com>
Subject: Re: [PATCH v14 10/12] x86/smpboot: Send INIT/SIPI/SIPI to secondary
CPUs in parallel
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
Powered by blists - more mailing lists