1. 10 3月, 2011 2 次提交
    • A
      x86/mm: Fix pgd_lock deadlock · a79e53d8
      Andrea Arcangeli 提交于
      It's forbidden to take the page_table_lock with the irq disabled
      or if there's contention the IPIs (for tlb flushes) sent with
      the page_table_lock held will never run leading to a deadlock.
      
      Nobody takes the pgd_lock from irq context so the _irqsave can be
      removed.
      Signed-off-by: NAndrea Arcangeli <aarcange@redhat.com>
      Acked-by: NRik van Riel <riel@redhat.com>
      Tested-by: NKonrad Rzeszutek Wilk <konrad.wilk@oracle.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Cc: Peter Zijlstra <peterz@infradead.org>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: <stable@kernel.org>
      LKML-Reference: <201102162345.p1GNjMjm021738@imap1.linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      a79e53d8
    • A
      x86/mm: Handle mm_fault_error() in kernel space · f8626854
      Andrey Vagin 提交于
      mm_fault_error() should not execute oom-killer, if page fault
      occurs in kernel space.  E.g. in copy_from_user()/copy_to_user().
      
      This would happen if we find ourselves in OOM on a
      copy_to_user(), or a copy_from_user() which faults.
      
      Without this patch, the kernels hangs up in copy_from_user(),
      because OOM killer sends SIG_KILL to current process, but it
      can't handle a signal while in syscall, then the kernel returns
      to copy_from_user(), reexcute current command and provokes
      page_fault again.
      
      With this patch the kernel return -EFAULT from copy_from_user().
      
      The code, which checks that page fault occurred in kernel space,
      has been copied from do_sigbus().
      
      This situation is handled by the same way on powerpc, xtensa,
      tile, ...
      Signed-off-by: NAndrey Vagin <avagin@openvz.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Cc: "H. Peter Anvin" <hpa@zytor.com>
      Cc: Linus Torvalds <torvalds@linux-foundation.org>
      Cc: <stable@kernel.org>
      LKML-Reference: <201103092322.p29NMNPH001682@imap1.linux-foundation.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      f8626854
  2. 09 3月, 2011 2 次提交
  3. 04 3月, 2011 1 次提交
    • Y
      x86, numa: Fix numa_emulation code with memory-less node0 · 3b28cf32
      Yinghai Lu 提交于
      This crash happens on a system that does not have RAM on node0.
      
      When numa_emulation is compiled in, and:
      
       1. we boot the system without numa=fake...
       2. or we boot the system with numa=fake=128 to make emulation fail
      
      we will get:
      
      [    0.076025] ------------[ cut here ]------------
      [    0.080004] kernel BUG at arch/x86/mm/numa_64.c:788!
      [    0.080004] invalid opcode: 0000 [#1] SMP
      [...]
      
      need to use early_cpu_to_node() directly, because cpu_to_apicid
      and apicid_to_node will return node0 that is not onlined.
      Signed-off-by: NYinghai Lu <yinghai@kernel.org>
      Acked-by: NTejun Heo <tj@kernel.org>
      Cc: David Rientjes <rientjes@google.com>
      LKML-Reference: <4D6ECF72.5010308@kernel.org>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      3b28cf32
  4. 02 3月, 2011 1 次提交
  5. 28 2月, 2011 1 次提交
    • D
      x86: Use u32 instead of long to set reset vector back to 0 · 299c5696
      Don Zickus 提交于
      A customer of ours, complained that when setting the reset
      vector back to 0, it trashed other data and hung their box.
      They noticed when only 4 bytes were set to 0 instead of 8,
      everything worked correctly.
      
      Mathew pointed out:
      
       |
       | We're supposed to be resetting trampoline_phys_low and
       | trampoline_phys_high here, which are two 16-bit values.
       | Writing 64 bits is definitely going to overwrite space
       | that we're not supposed to be touching.
       |
      
      So limit the area modified to u32.
      Signed-off-by: NDon Zickus <dzickus@redhat.com>
      Acked-by: NMatthew Garrett <mjg@redhat.com>
      Cc: <stable@kernel.org>
      LKML-Reference: <1297139100-424-1-git-send-email-dzickus@redhat.com>
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      299c5696
  6. 26 2月, 2011 1 次提交
    • S
      omap4: prcm: Fix the CPUx clockdomain offsets · 51c404b2
      Santosh Shilimkar 提交于
      CPU0 and CPU1 clockdomain is at the offset of 0x18 from the LPRM base.
      The header file has set it wrongly to 0x0. Offset 0x0 is for CPUx power
      domain control register
      
      Fix the same.
      
      The autogen scripts is fixed thanks to Benoit Cousson
      
      With the old value, the clockdomain code would access the
      *_PWRSTCTRL.POWERSTATE field when it thought it was accessing the
      *_CLKSTCTRL.CLKTRCTRL field.  In the worst case, this could cause
      system power management to behave incorrectly.
      Signed-off-by: NSantosh Shilimkar <santosh.shilimkar@ti.com>
      Cc: Paul Walmsley <paul@pwsan.com>
      Cc: Rajendra Nayak <rnayak@ti.com>
      Cc: Benoit Cousson <b-cousson@ti.com>
      [paul@pwsan.com: added second paragraph to commit message]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      51c404b2
  7. 25 2月, 2011 2 次提交
  8. 24 2月, 2011 2 次提交
  9. 23 2月, 2011 1 次提交
    • J
      OMAP2/3: clock: fix fint calculation for DPLL_FREQSEL · ea68c00e
      John Ogness 提交于
      In OMAP35X TRM Rev 2010-05 Figure 7-18 "DPLL With EMI Reduction
      Feature", it is shown that the internal frequency is calculated by
      CLK_IN/(N+1). However, the value passed to _dpll_test_fint() is
      already "N+1" since Linux is using the values to divide by. In the
      technical reference manual, "N" is referring to the divider's register
      value (0-127).
      
      During power management testing, it was observed that programming the
      wrong jitter correction value can cause the system to become unstable
      and eventually crash.
      Signed-off-by: NJohn Ogness <john.ogness@linutronix.de>
      [paul@pwsan.com: added second paragraph to commit message]
      Signed-off-by: NPaul Walmsley <paul@pwsan.com>
      ea68c00e
  10. 22 2月, 2011 11 次提交
  11. 21 2月, 2011 1 次提交
  12. 19 2月, 2011 6 次提交
  13. 18 2月, 2011 3 次提交
  14. 17 2月, 2011 6 次提交