1. 27 Nov, 2009 2 commits
    • David Gibson's avatar
      powerpc/mm: Fix bug in gup_hugepd() · 39adfa54
      David Gibson authored
      Commit a4fe3ce7 introduced a new
      get_user_pages() path for hugepages on powerpc.  Unfortunately, there
      is a bug in it's loop logic, which can cause it to overrun the end of
      the intended region.  This came about by copying the logic from the
      normal page path, which assumes the address and end parameters have
      been pagesize aligned at the top-level.  Since they're not *hugepage*
      size aligned, the simplistic logic could step over the end of the gup
      region without triggering the loop end condition.
      
      This patch fixes the bug by using the technique that the normal page
      path uses in levels above the lowest to truncate the ending address to
      something we know we'll match with.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      39adfa54
    • David Gibson's avatar
      powerpc/mm: Fix bug in pagetable cache cleanup with CONFIG_PPC_SUBPAGE_PROT · c045256d
      David Gibson authored
      Commit a0668cdc cleans up the handling
      of kmem_caches for allocating various levels of pagetables.
      Unfortunately, it conflicts badly with CONFIG_PPC_SUBPAGE_PROT, due to
      the latter's cleverly hidden technique of adding some extra allocation
      space to the top level page directory to store the extra information
      it needs.
      
      Since that extra allocation really doesn't fit into the cleaned up
      page directory allocating scheme, this patch alters
      CONFIG_PPC_SUBPAGE_PROT to instead allocate its struct
      subpage_prot_table as part of the mm_context_t.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      c045256d
  2. 24 Nov, 2009 15 commits
  3. 23 Nov, 2009 1 commit
  4. 20 Nov, 2009 12 commits
  5. 19 Nov, 2009 9 commits
  6. 18 Nov, 2009 1 commit