1. 10 2月, 2009 1 次提交
    • T
      x86: implement x86_32 stack protector · 60a5317f
      Tejun Heo 提交于
      Impact: stack protector for x86_32
      
      Implement stack protector for x86_32.  GDT entry 28 is used for it.
      It's set to point to stack_canary-20 and have the length of 24 bytes.
      CONFIG_CC_STACKPROTECTOR turns off CONFIG_X86_32_LAZY_GS and sets %gs
      to the stack canary segment on entry.  As %gs is otherwise unused by
      the kernel, the canary can be anywhere.  It's defined as a percpu
      variable.
      
      x86_32 exception handlers take register frame on stack directly as
      struct pt_regs.  With -fstack-protector turned on, gcc copies the
      whole structure after the stack canary and (of course) doesn't copy
      back on return thus losing all changed.  For now, -fno-stack-protector
      is added to all files which contain those functions.  We definitely
      need something better.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      60a5317f
  2. 09 2月, 2009 2 次提交
  3. 06 2月, 2009 1 次提交
  4. 04 2月, 2009 1 次提交
  5. 01 2月, 2009 1 次提交
  6. 31 1月, 2009 2 次提交
  7. 29 1月, 2009 5 次提交
  8. 28 1月, 2009 1 次提交
  9. 27 1月, 2009 3 次提交
  10. 26 1月, 2009 1 次提交
    • I
      x86: unmask CPUID levels on Intel CPUs, fix · 99fb4d34
      Ingo Molnar 提交于
      Impact: fix boot hang on pre-model-15 Intel CPUs
      
      rdmsrl_safe() does not work in very early bootup code yet, because we
      dont have the pagefault handler installed yet so exception section
      does not get parsed. rdmsr_safe() will just crash and hang the bootup.
      
      So limit the MSR_IA32_MISC_ENABLE MSR read to those CPU types that
      support it.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      99fb4d34
  11. 24 1月, 2009 2 次提交
    • H
      x86: filter CPU features dependent on unavailable CPUID levels · b38b0665
      H. Peter Anvin 提交于
      Impact: Fixes potential crashes on misconfigured systems.
      
      Some CPU features require specific CPUID levels to be available in
      order to function, as they contain information about the operation of
      a specific feature.  However, some BIOSes and virtualization software
      provide the ability to mask CPUID levels in order to support legacy
      operating systems.  We try to enable such CPUID levels when we know
      how to do it, but for the remaining cases, filter out such CPU
      features when there is no way for us to support them.
      
      Do this in one place, in the CPUID code, with a table-driven approach.
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      b38b0665
    • H
      x86: handle PAT more like other CPU features · 75a04811
      H. Peter Anvin 提交于
      Impact: Cleanup
      
      When PAT was originally introduced, it was handled specially for a few
      reasons:
      
      - PAT bugs are hard to track down, so we wanted to maintain a
        whitelist of CPUs.
      - The i386 and x86-64 CPUID code was not yet unified.
      
      Both of these are now obsolete, so handle PAT like any other features,
      including ordinary feature blacklisting due to known bugs.
      Signed-off-by: NH. Peter Anvin <hpa@linux.intel.com>
      75a04811
  12. 23 1月, 2009 1 次提交
  13. 22 1月, 2009 1 次提交
  14. 21 1月, 2009 4 次提交
  15. 20 1月, 2009 5 次提交
  16. 18 1月, 2009 8 次提交
  17. 17 1月, 2009 1 次提交