1. 05 Jun, 2004 8 commits
    • Andreas Dilger's avatar
      [PATCH] ext3: htree rename fix · c6453d0a
      Andreas Dilger authored
      A problem with htree was recently discovered during Lustre testing when
      files were being renamed within the same directory.  In some cases the
      addition of the new name caused a directory block split and the old
      dir_entry was pointing at the wrong entry, and the wrong entry was removed.
      This would seem entirely possible in a Maildir directory, since the MTA
      will be doing a lot of renames within the same directory.
      
      If old_de is pointing to the newly-added entry (i_ino is the same) we end up
      deleting the new entry instead of the old one.  It looks as if the rename
      never happened.  We need to verify that the name we are unlinking is what we
      expect.
      
      If is also possible that old_de is pointing to the now-unused space at the end
      of a newly-split leaf block, so we still need to try ext3_delete_entry()
      (which will skip the stale entry and return ENOENT) instead of just relying on
      the inum + name check.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c6453d0a
    • Hugh Dickins's avatar
      [PATCH] mm: kill missed pte warning · 1d90ac58
      Hugh Dickins authored
      I've seen no warnings, nor heard any reports of warnings, that anon_vma ever
      misses ptes (nor anonmm before it).  That WARN_ON (with its useless stack
      dump) was okay to goad developers into making reports, but would mainly be an
      irritation if it ever appears on user systems: kill it now.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      1d90ac58
    • Hugh Dickins's avatar
      [PATCH] mm: get_user_pages vs. try_to_unmap · ebd6867f
      Hugh Dickins authored
      Andrea Arcangeli's fix to an ironic weakness with get_user_pages. 
      
      try_to_unmap_one must check page_count against page->mapcount before unmapping
      a swapcache page: because the raised pagecount by which get_user_pages ensures
      the page cannot be freed, will cause any write fault to see that page as not
      exclusively owned, and therefore a copy page will be substituted for it - the
      reverse of what's intended.
      
      rmap.c was entirely free of such page_count heuristics before, I tried hard to
      avoid putting this in.  But Andrea's fix rarely gives a false positive; and
      although it might be nicer to change exclusive_swap_page etc.  to rely on
      page->mapcount instead, it seems likely that we'll want to get rid of
      page->mapcount later, so better not to entrench its use.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ebd6867f
    • Hugh Dickins's avatar
      [PATCH] mm: vma_adjust insert file earlier · a888f1f5
      Hugh Dickins authored
      For those arches (arm and parisc) which use the i_mmap tree to implement
      flush_dcache_page, during split_vma there's a small window in vma_adjust when
      flush_dcache_mmap_lock is dropped, and pages in the split-off part of the vma
      might for an instant be invisible to __flush_dcache_page.
      
      Though we're more solid there than ever before, I guess it's a bad idea to
      leave that window: so (with regret, it was structurally nicer before) take
      __vma_link_file (and vma_prio_tree_init) out of __vma_link.
      
      vma_prio_tree_init (which NULLs a few fields) is actually only needed when
      copying a vma, not when a new one has just been memset to 0.
      
      __insert_vm_struct is used by nothing but vma_adjust's split_vma case:
      comment it accordingly, remove its mark_mm_hugetlb (it can never create
      a new kind of vma) and its validate_mm (another follows immediately).
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      a888f1f5
    • Hugh Dickins's avatar
      [PATCH] mm: vma_adjust adjust_next wrap · e495dd35
      Hugh Dickins authored
      Fix vma_adjust adjust_next wrapping: Rajesh V.  pointed out that if end were
      2GB or more beyond next->vm_start (on 32-bit), then next->vm_pgoff would have
      been negatively adjusted.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarRajesh Venkatasubramanian <vrajesh@umich.edu>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e495dd35
    • Hugh Dickins's avatar
      [PATCH] mm: follow_page invalid pte_page · ad6e519b
      Hugh Dickins authored
      The follow_page write-access case is relying on pte_page before checking
      pfn_valid: rearrange that - and we don't need three struct page *pages.
      
      (I notice mempolicy.c's verify_pages is also relying on pte_page, but I'll
      leave that to Andi: maybe it ought to be failing on, or skipping over, VM_IO
      or VM_RESERVED vmas?)
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      ad6e519b
    • Hugh Dickins's avatar
      [PATCH] mm: swapper_space.i_mmap_nonlinear · e11f2cc4
      Hugh Dickins authored
      Initialize swapper_space.i_mmap_nonlinear, so mapping_mapped reports false on
      it (as it used to do).  Update comment on swapper_space, now more fields are
      used than those initialized explicitly.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e11f2cc4
    • Andi Kleen's avatar
      [PATCH] More x86-64 bugfixes · e3223421
      Andi Kleen authored
      This patch fixes the problem some people had with their systems crashing
      early at boot.  Also fix a problem in the LDT/TSS setup noticed by Paul
      Menage.  And some other random fixes.
      
      - Update defconfig
      - Remove some unnecessary printks
      - Enlarge kernel mapping to 40MB
      - Fix acpi=ht (Suresh Siddha)
      - Use KERN_ALERT for more important oops lines
      - Fix LDT/TSS limit (Paul Menage)
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e3223421
  2. 04 Jun, 2004 29 commits
  3. 03 Jun, 2004 3 commits