x86: fix canary of the boot CPU's idle task
authorIngo Molnar <mingo@elte.hu>
Thu, 14 Feb 2008 08:22:34 +0000 (09:22 +0100)
committerThomas Gleixner <tglx@linutronix.de>
Mon, 26 May 2008 14:15:31 +0000 (16:15 +0200)
commit7e09b2a02dae4616a5a26000169964b32f86cd35
tree5dc54ff304fa9c73bd49cc8d93dfc0af1eb52e26
parentce22bd92cba0958e052cb1ce0f89f1d3a02b60a7
x86: fix canary of the boot CPU's idle task

the boot CPU's idle task has a zero stackprotector canary value.

this is a special task that is never forked, so the fork code
does not randomize its canary. Do it when we hit cpu_idle().

Academic sidenote: this means that the early init code runs with a
zero canary and hence the canary becomes predictable for this short,
boot-only amount of time.

Although attack vectors against early init code are very rare, it might
make sense to move this initialization to an earlier point.
(to one of the early init functions that never return - such as
start_kernel())

Signed-off-by: Ingo Molnar <mingo@elte.hu>
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
arch/x86/kernel/process_64.c