summaryrefslogtreecommitdiffstats
path: root/scripts/gcc-x86_64-has-stack-protector.sh
diff options
context:
space:
mode:
authorTejun Heo <tj@kernel.org>2009-02-11 16:31:00 +0900
committerIngo Molnar <mingo@elte.hu>2009-02-11 11:33:49 +0100
commit5c79d2a517a9905599d192db8ce77ab5f1a2faca (patch)
tree11f550a59b9b653fbd6c54b37effbf2d4a750fb5 /scripts/gcc-x86_64-has-stack-protector.sh
parent60a5317ff0f42dd313094b88f809f63041568b08 (diff)
downloadblackbird-op-linux-5c79d2a517a9905599d192db8ce77ab5f1a2faca.tar.gz
blackbird-op-linux-5c79d2a517a9905599d192db8ce77ab5f1a2faca.zip
x86: fix x86_32 stack protector bugs
Impact: fix x86_32 stack protector Brian Gerst found out that %gs was being initialized to stack_canary instead of stack_canary - 20, which basically gave the same canary value for all threads. Fixing this also exposed the following bugs. * cpu_idle() didn't call boot_init_stack_canary() * stack canary switching in switch_to() was being done too late making the initial run of a new thread use the old stack canary value. Fix all of them and while at it update comment in cpu_idle() about calling boot_init_stack_canary(). Reported-by: Brian Gerst <brgerst@gmail.com> Signed-off-by: Tejun Heo <tj@kernel.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'scripts/gcc-x86_64-has-stack-protector.sh')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud