Re: [PATCH] idle/x86: remove the call to boot_init_stack_canary() from cpu_startup_entry()

From: Christophe LEROY
Date: Fri Oct 19 2018 - 06:33:07 EST

Le 19/10/2018 Ã 12:01, Juergen Gross a ÃcritÂ:
On 19/10/2018 11:29, Christophe Leroy wrote:
commit d7880812b359 ("idle: Add the stack canary init to
cpu_startup_entry()") added the call to boot_init_stack_canary()
in cpu_startup_entry() in an #ifdef CONFIG_X86 statement, with
the intention to remove that #ifdef later.

While implementing stack protector for powerpc, it has been
observed that calling boot_init_stack_canary() is also needed
for powerpc which uses per task (TLS) stack canary like the X86.

However, calling boot_init_stack_canary() would break arches
using global stack canary (ARM, SH, MIPS and XTENSA).

Instead of adding modifying the #ifdef in a
implemented the call to boot_init_stack_canary() in the function
calling cpu_startup_entry()

I can't parse this sentence.

Oops, git commit took the #if for a comment and droped it. Fixed in v2.

On x86, we have two functions calling cpu_startup_entry():
- start_secondary()
- cpu_bringup_and_idle()

start_secondary() already calls boot_init_stack_canary().

This patch adds the call to boot_init_stack_canary() in
cpu_bringup_and_idle() and removes it from cpu_startup_entry()

Signed-off-by: Christophe Leroy <christophe.leroy@xxxxxx>

With the commit message made understandable you can add my

Reviewed-by: Juergen Gross <jgross@xxxxxxxx>