1. 22 6月, 2007 1 次提交
    • R
      IB/umem: Fix possible hang on process exit · 24bce508
      Roland Dreier 提交于
      If ib_umem_release() is called after ib_uverbs_close() sets context->closing,
      then a process can get stuck in a D state, because the code boils down to
      
      	if (down_write_trylock(&mm->mmap_sem))
      		down_write(&mm->mmap_sem);
      
      which is obviously a stupid instant deadlock.  Fix the code so that we
      only try to take the lock once.
      
      This bug was introduced in commit f7c6a7b5 ("IB/uverbs: Export
      ib_umem_get()/ib_umem_release() to modules") which fortunately never
      made it into a release, and was reported by Pete Wyckoff <pw@osc.edu>.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      24bce508
  2. 21 6月, 2007 15 次提交
  3. 20 6月, 2007 3 次提交
    • T
      [POWERPC] Fix powermac late initcall to only run on powermac · c5f226c7
      Tony Breeds 提交于
      Current ppc64_defconfig kernel fails to boot on iSeries, dying with:
      
      Unable to handle kernel paging request for data at address 0x00000000
      Faulting instruction address: 0xc00000000071b258
      Oops: Kernel access of bad area, sig: 11 [#1]
      SMP NR_CPUS=32 iSeries
      <snip>
      NIP [c00000000071b258] .iSeries_src_init+0x34/0x64
      LR [c000000000701bb4] .kernel_init+0x1fc/0x3bc
      Call Trace:
      [c000000007d0be30] [0000000000008000] 0x8000 (unreliable)
      [c000000007d0bea0] [c000000000701bb4] .kernel_init+0x1fc/0x3bc
      [c000000007d0bf90] [c0000000000262d4] .kernel_thread+0x4c/0x68
      Instruction dump:
      e922cba8 3880ffff 78840420 f8010010 f821ff91 60000000 e8090000 78095fe3
      4182002c e922cb58 e862cbb0 e9290140 <e8090000> f8410028 7c0903a6 e9690010
      Kernel panic - not syncing: Attempted to kill init!
      
      This happens because some powermac code unconditionally sets
      ppc_md.progress to NULL.  This patch makes sure the powermac late
      initcall is only run on powermac machines.
      Signed-off-by: NTony Breeds <tony@bakeyournoodle.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      c5f226c7
    • S
      [POWERPC] PowerPC: Prevent data exception in kernel space (32-bit) · 9ba4ace3
      Segher Boessenkool 提交于
      The "is_exec" branch of the protection check in do_page_fault()
      didn't do anything on 32-bit PowerPC.  So if a userland program
      jumps to a page with Linux protection flags "---p", all the tests
      happily fall through, and handle_mm_fault() is called, which in
      turn calls handle_pte_fault(), which calls update_mmu_cache(),
      which goes flush the dcache to a page with no access rights.
      
      Boom.
      
      This fixes it.
      Signed-off-by: NSegher Boessenkool <segher@kernel.crashing.org>
      Cc: Johannes Berg <johannes@sipsolutions.net>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      9ba4ace3
    • L
      [POWERPC] rheap - eliminates internal fragments caused by alignment · 7c8545e9
      Li Yang 提交于
      The patch adds fragments caused by rh_alloc_align() back to free list, instead
      of allocating the whole chunk of memory.  This will greatly improve memory
      utilization managed by rheap.
      
      It solves MURAM not enough problem with 3 UCCs enabled on MPC8323.
      Signed-off-by: NLi Yang <leoli@freescale.com>
      Acked-by: Joakim Tjernlund <joakim.tjernlund@transmode.se> 
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      7c8545e9
  4. 19 6月, 2007 21 次提交