1. 06 5月, 2012 12 次提交
  2. 12 4月, 2012 2 次提交
  3. 11 4月, 2012 2 次提交
  4. 10 4月, 2012 1 次提交
    • B
      powerpc: Fix page fault with lockdep regression · 08f1ec8a
      Benjamin Herrenschmidt 提交于
      commit a546498f
      introduced a regression on 32-bit when irq tracing
      is enabled by exposing an old bug in our irq tracing
      code for exception entry.
      
      The code would save and restore some GPRs around the
      calls to the C lockdep code, however, it tries to be
      too smart for its own good and restores some of the
      GPRs from the exception frame (as saved there on
      exception entry).
      
      However, for page faults, we do replace those GPRs with
      arguments to do_page_fault before we call transfer_to_handler
      and so restoring from the exception frame is plain wrong in
      this case.
      
      This was fine as long as we didn't touch the interrupt state
      when taking page fault, but when I started doing it, it would
      trigger the lockdep calls and the bug.
      
      This fixes it by cleaning up that code a bit. It did create
      a small stack frame for the sake of backtraces, so let's
      make it a bit bigger and use it to save and restore the
      stuff we care about.
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      08f1ec8a
  5. 08 4月, 2012 23 次提交