1. 22 12月, 2011 1 次提交
    • S
      x86: Keep current stack in NMI breakpoints · 228bdaa9
      Steven Rostedt 提交于
      We want to allow NMI handlers to have breakpoints to be able to
      remove stop_machine from ftrace, kprobes and jump_labels. But if
      an NMI interrupts a current breakpoint, and then it triggers a
      breakpoint itself, it will switch to the breakpoint stack and
      corrupt the data on it for the breakpoint processing that it
      interrupted.
      
      Instead, have the NMI check if it interrupted breakpoint processing
      by checking if the stack that is currently used is a breakpoint
      stack. If it is, then load a special IDT that changes the IST
      for the debug exception to keep the same stack in kernel context.
      When the NMI is done, it puts it back.
      
      This way, if the NMI does trigger a breakpoint, it will keep
      using the same stack and not stomp on the breakpoint data for
      the breakpoint it interrupted.
      Suggested-by: NPeter Zijlstra <peterz@infradead.org>
      Signed-off-by: NSteven Rostedt <rostedt@goodmis.org>
      228bdaa9
  2. 05 8月, 2011 1 次提交
  3. 27 5月, 2011 1 次提交
  4. 06 11月, 2009 1 次提交
    • C
      x86: Make sure get_user_desc() doesn't sign extend. · 2c75910f
      Chris Lalancette 提交于
      The current implementation of get_user_desc() sign extends the return
      value because of integer promotion rules.  For the most part, this
      doesn't matter, because the top bit of base2 is usually 0.  If, however,
      that bit is 1, then the entire value will be 0xffff...  which is
      probably not what the caller intended.
      
      This patch casts the entire thing to unsigned before returning, which
      generates almost the same assembly as the current code but replaces the
      final "cltq" (sign extend) with a "mov %eax %eax" (zero-extend).  This
      fixes booting certain guests under KVM.
      Signed-off-by: NChris Lalancette <clalance@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      2c75910f
  5. 20 7月, 2009 1 次提交
  6. 18 6月, 2009 1 次提交
  7. 22 4月, 2009 1 次提交
    • D
      FRV: Fix the section attribute on UP DECLARE_PER_CPU() · 9b8de747
      David Howells 提交于
      In non-SMP mode, the variable section attribute specified by DECLARE_PER_CPU()
      does not agree with that specified by DEFINE_PER_CPU().  This means that
      architectures that have a small data section references relative to a base
      register may throw up linkage errors due to too great a displacement between
      where the base register points and the per-CPU variable.
      
      On FRV, the .h declaration says that the variable is in the .sdata section, but
      the .c definition says it's actually in the .data section.  The linker throws
      up the following errors:
      
      kernel/built-in.o: In function `release_task':
      kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
      kernel/exit.c:78: relocation truncated to fit: R_FRV_GPREL12 against symbol `per_cpu__process_counts' defined in .data section in kernel/built-in.o
      
      To fix this, DECLARE_PER_CPU() should simply apply the same section attribute
      as does DEFINE_PER_CPU().  However, this is made slightly more complex by
      virtue of the fact that there are several variants on DEFINE, so these need to
      be matched by variants on DECLARE.
      Signed-off-by: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9b8de747
  8. 11 3月, 2009 1 次提交
  9. 24 12月, 2008 1 次提交
    • Y
      x86: fix lguest used_vectors breakage, -v2 · b77b881f
      Yinghai Lu 提交于
      Impact: fix lguest, clean up
      
      32-bit lguest used used_vectors to record vectors, but that model of
      allocating vectors changed and got broken, after we changed vector
      allocation to a per_cpu array.
      
      Try enable that for 64bit, and the array is used for all vectors that
      are not managed by vector_irq per_cpu array.
      
      Also kill system_vectors[], that is now a duplication of the
      used_vectors bitmap.
      
      [ merged in cpus4096 due to io_apic.c cpumask changes. ]
      [ -v2, fix build failure ]
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      b77b881f
  10. 23 10月, 2008 2 次提交
  11. 13 10月, 2008 1 次提交
  12. 28 7月, 2008 1 次提交
  13. 24 7月, 2008 1 次提交
  14. 23 7月, 2008 1 次提交
  15. 12 7月, 2008 1 次提交
  16. 08 7月, 2008 1 次提交
  17. 13 5月, 2008 1 次提交
  18. 17 4月, 2008 1 次提交
  19. 30 1月, 2008 9 次提交
  20. 11 10月, 2007 1 次提交