lkml.org 
[lkml]   [2023]   [Mar]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH v14 10/12] x86/smpboot: Send INIT/SIPI/SIPI to secondary CPUs in parallel
Date
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

\
 
 \ /
  Last update: 2023-03-27 00:54    [W:0.152 / U:0.040 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site