1. 21 6月, 2007 10 次提交
  2. 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
  3. 19 6月, 2007 21 次提交
  4. 18 6月, 2007 2 次提交
  5. 17 6月, 2007 4 次提交
    • L
      Linux 2.6.22-rc5 · 188e1f81
      Linus Torvalds 提交于
      The manatees, they are dancing!
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      188e1f81
    • E
      shm: fix the filename of hugetlb sysv shared memory · 9d66586f
      Eric W. Biederman 提交于
      Some user space tools need to identify SYSV shared memory when examining
      /proc/<pid>/maps.  To do so they look for a block device with major zero, a
      dentry named SYSV<sysv key>, and having the minor of the internal sysv
      shared memory kernel mount.
      
      To help these tools and to make it easier for people just browsing
      /proc/<pid>/maps this patch modifies hugetlb sysv shared memory to use the
      SYSV<key> dentry naming convention.
      
      User space tools will still have to be aware that hugetlb sysv shared
      memory lives on a different internal kernel mount and so has a different
      block device minor number from the rest of sysv shared memory.
      Signed-off-by: NEric W. Biederman <ebiederm@xmission.com>
      Cc: "Serge E. Hallyn" <serge@hallyn.com>
      Cc: Albert Cahalan <acahalan@gmail.com>
      Cc: Badari Pulavarty <pbadari@us.ibm.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      9d66586f
    • A
      hugetlb: fix get_policy for stacked shared memory files · 22741925
      Adam Litke 提交于
      Here's another breakage as a result of shared memory stacked files :(
      
      The NUMA policy for a VMA is determined by checking the following (in the
      order given):
      
      1) vma->vm_ops->get_policy() (if defined)
      2) vma->vm_policy (if defined)
      3) task->mempolicy (if defined)
      4) Fall back to default_policy
      
      By switching to stacked files for shared memory, get_policy() is now always
      set to shm_get_policy which is a wrapper function.  This causes us to stop
      at step 1, which yields NULL for hugetlb instead of task->mempolicy which
      was the previous (and correct) result.
      
      This patch modifies the shm_get_policy() wrapper to maintain steps 1-3 for
      the wrapped vm_ops.
      
      (akpm: the refcounting of mempolicies is busted and this patch does nothing to
      improve it)
      Signed-off-by: NAdam Litke <agl@us.ibm.com>
      Acked-by: NWilliam Irwin <bill.irwin@oracle.com>
      Cc: dean gaudet <dean@arctic.org>
      Cc: Christoph Lameter <clameter@sgi.com>
      Cc: Andi Kleen <ak@suse.de>
      Cc: <stable@kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      22741925
    • J
      udf: fix possible leakage of blocks · 74584ae5
      Jan Kara 提交于
      We have to take care that when we call udf_discard_prealloc() from
      udf_clear_inode() we have to write inode ourselves afterwards (otherwise,
      some changes might be lost leading to leakage of blocks, use of free blocks
      or improperly aligned extents).
      
      Also udf_discard_prealloc() does two different things - it removes
      preallocated blocks and truncates the last extent to exactly match i_size.
      We move the latter functionality to udf_truncate_tail_extent(), call
      udf_discard_prealloc() when last reference to a file is dropped and call
      udf_truncate_tail_extent() when inode is being removed from inode cache
      (udf_clear_inode() call).
      
      We cannot call udf_truncate_tail_extent() earlier as subsequent open+write
      would find the last block of the file mapped and happily write to the end
      of it, although the last extent says it's shorter.
      
      [akpm@linux-foundation.org: Make checkpatch.pl happier]
      Signed-off-by: NJan Kara <jack@suse.cz>
      Cc: Eric Sandeen <sandeen@sandeen.net>
      Cc: Cyrill Gorcunov <gorcunov@gmail.com>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      74584ae5