1. 26 5月, 2008 3 次提交
    • I
      stackprotector: add boot_init_stack_canary() · 18aa8bb1
      Ingo Molnar 提交于
      add the boot_init_stack_canary() and make the secondary idle threads
      use it.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      18aa8bb1
    • I
      stackprotector: include files · 9b5609fd
      Ingo Molnar 提交于
      create <linux/stackprotector.h> for core kernel files to include.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      9b5609fd
    • I
      x86: fix stackprotector canary updates during context switches · e0032087
      Ingo Molnar 提交于
      fix a bug noticed and fixed by pageexec@freemail.hu.
      
      if built with -fstack-protector-all then we'll have canary checks built
      into the __switch_to() function. That does not work well with the
      canary-switching code there: while we already use the %rsp of the
      new task, we still call __switch_to() whith the previous task's canary
      value in the PDA, hence the __switch_to() ssp prologue instructions
      will store the previous canary. Then we update the PDA and upon return
      from __switch_to() the canary check triggers and we panic.
      
      so update the canary after we have called __switch_to(), where we are
      at the same stackframe level as the last stackframe of the next
      (and now freshly current) task.
      
      Note: this means that we call __switch_to() [and its sub-functions]
      still with the old canary, but that is not a problem, both the previous
      and the next task has a high-quality canary. The only (mostly academic)
      disadvantage is that the canary of one task may leak onto the stack of
      another task, increasing the risk of information leaks, were an attacker
      able to read the stack of specific tasks (but not that of others).
      
      To solve this we'll have to reorganize the way we switch tasks, and move
      the PDA setting into the switch_to() assembly code. That will happen in
      another patch.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NThomas Gleixner <tglx@linutronix.de>
      e0032087
  2. 25 5月, 2008 13 次提交
  3. 24 5月, 2008 1 次提交
  4. 23 5月, 2008 4 次提交
  5. 22 5月, 2008 4 次提交
  6. 21 5月, 2008 4 次提交
  7. 20 5月, 2008 11 次提交