1. 10 4月, 2008 1 次提交
    • D
      [SPARC]: Fix several regset and ptrace bugs. · d786a4a6
      David S. Miller 提交于
      1) ptrace should pass 'current' to task_user_regset_view()
      
      2) When fetching general registers using a 64-bit view, and
         the target is 32-bit, we have to convert.
      
      3) Skip the whole register window get/set code block if
         the user isn't asking to access anything in there.
      
         Otherwise we have problems if the user doesn't have
         an address space setup.  Fetching ptrace register is
         still valid at such a time, and ptrace does not try
         to access the register window area of the regset.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      d786a4a6
  2. 04 4月, 2008 2 次提交
  3. 29 3月, 2008 4 次提交
  4. 28 3月, 2008 3 次提交
    • M
      [POWERPC] Fix missed hardware breakpoints across multiple threads · a2ceff5e
      Michael Ellerman 提交于
      There is a bug in the powerpc DABR (data access breakpoint) handling,
      which can result in us missing breakpoints if several threads are trying
      to break on the same address.
      
      The circumstances are that do_page_fault() calls do_dabr(), this clears
      the DABR (sets it to 0) and sets up the signal which will report to
      userspace that the DABR was hit. The do_signal() code will restore the DABR
      value on the way out to userspace.
      
      If we reschedule before calling do_signal(), __switch_to() will check the
      cached DABR value and compare it to the new thread's value, if they match
      we don't set the DABR in hardware.
      
      So if two threads have the same DABR value, and we schedule from one to
      the other after taking the interrupt for the first thread hitting the DABR,
      the second thread will run without the DABR set in hardware.
      
      The cleanest fix is to move the cache update into set_dabr(), that way we
      can't forget to do it.
      Reported-by: NJan Kratochvil <jan.kratochvil@redhat.com>
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      a2ceff5e
    • R
      lguest: comment documentation update. · a6bd8e13
      Rusty Russell 提交于
      Took some cycles to re-read the Lguest Journey end-to-end, fix some
      rot and tighten some phrases.
      
      Only comments change.  No new jokes, but a couple of recycled old jokes.
      Signed-off-by: NRusty Russell <rusty@rustcorp.com.au>
      a6bd8e13
    • I
      x86: prefetch fix #2 · 3085354d
      Ingo Molnar 提交于
      Linus noticed a second bug and an uncleanliness:
      
       - we'd return on any instruction fetch fault
      
       - we'd use both the value of 16 and the PF_INSTR symbol which are
         the same and make no sense
      
      the cleanup nicely unifies this piece of logic.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3085354d
  5. 27 3月, 2008 14 次提交
  6. 26 3月, 2008 13 次提交
  7. 25 3月, 2008 3 次提交
    • O
      [POWERPC] update pasemi_defconfig · 5c29934d
      Olof Johansson 提交于
      Disable GEN_RTC since it conflicts with the i2c rtc drivers registering,
      besides that keep most of the new defaults.
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      5c29934d
    • A
      KVM: MMU: Fix memory leak on guest demand faults · e48bb497
      Avi Kivity 提交于
      While backporting 72dc67a6, a gfn_to_page()
      call was duplicated instead of moved (due to an unrelated patch not being
      present in mainline).  This caused a page reference leak, resulting in a
      fairly massive memory leak.
      
      Fix by removing the extraneous gfn_to_page() call.
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      e48bb497
    • M
      KVM: VMX: convert init_rmode_tss() to slots_lock · 707a18a5
      Marcelo Tosatti 提交于
      init_rmode_tss was forgotten during the conversion from mmap_sem to
      slots_lock.
      
      INFO: task qemu-system-x86:3748 blocked for more than 120 seconds.
      Call Trace:
       [<ffffffff8053d100>] __down_read+0x86/0x9e
       [<ffffffff8053fb43>] do_page_fault+0x346/0x78e
       [<ffffffff8053d235>] trace_hardirqs_on_thunk+0x35/0x3a
       [<ffffffff8053dcad>] error_exit+0x0/0xa9
       [<ffffffff8035a7a7>] copy_user_generic_string+0x17/0x40
       [<ffffffff88099a8a>] :kvm:kvm_write_guest_page+0x3e/0x5f
       [<ffffffff880b661a>] :kvm_intel:init_rmode_tss+0xa7/0xf9
       [<ffffffff880b7d7e>] :kvm_intel:vmx_vcpu_reset+0x10/0x38a
       [<ffffffff8809b9a5>] :kvm:kvm_arch_vcpu_setup+0x20/0x53
       [<ffffffff8809a1e4>] :kvm:kvm_vm_ioctl+0xad/0x1cf
       [<ffffffff80249dea>] __lock_acquire+0x4f7/0xc28
       [<ffffffff8028fad9>] vfs_ioctl+0x21/0x6b
       [<ffffffff8028fd75>] do_vfs_ioctl+0x252/0x26b
       [<ffffffff8028fdca>] sys_ioctl+0x3c/0x5e
       [<ffffffff8020b01b>] system_call_after_swapgs+0x7b/0x80
      Signed-off-by: NMarcelo Tosatti <mtosatti@redhat.com>
      Signed-off-by: NAvi Kivity <avi@qumranet.com>
      707a18a5