1. 24 Nov, 2005 10 commits
    • David Gibson's avatar
      [PATCH] powerpc: fix for hugepage areas straddling 4GB boundary · 5e391dc9
      David Gibson authored
      Commit 7d24f0b8 fixed bugs in the ppc64 SLB
      miss handler with respect to hugepage handling, and in the process tweaked
      the semantics of the hugepage address masks in mm_context_t.
      
      Unfortunately, it left out a couple of necessary changes to go with that
      change.  First, the in_hugepage_area() macro was not updated to match,
      second prepare_hugepage_range() was not updated to correctly handle
      hugepages regions which straddled the 4GB point.
      
      The latter appears only to cause process-hangs when attempting to map such
      a region, but the former can cause oopses if a get_user_pages() is
      triggered at the wrong point.  This patch addresses both bugs.
      Signed-off-by: default avatarDavid Gibson <david@gibson.dropbear.id.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      5e391dc9
    • Benjamin Herrenschmidt's avatar
      [PATCH] Fix crash in unregister_console() · e9b15b54
      Benjamin Herrenschmidt authored
      If unregister_console() is inadvertently called while no consoles are
      registered, it will crash trying to dereference NULL pointer.  It is
      necessary to fix that because register_console() provides no indication
      that it actually registered the console passed in.  In fact, it may well
      decide not to register it based on various things...
      
      (akpm: It'd be better to make register_console() return something and fix the
      callers.  All 106 of them...)
      Signed-off-by: default avatarBenjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      e9b15b54
    • Oleg Nesterov's avatar
      [PATCH] fix do_wait() vs exec() race · 962b564c
      Oleg Nesterov authored
      When non-leader thread does exec, de_thread adds old leader to the init's
      ->children list in EXIT_ZOMBIE state and drops tasklist_lock.
      
      This means that release_task(leader) in de_thread() is racy vs do_wait()
      from init task.
      
      I think de_thread() should set old leader's state to EXIT_DEAD instead.
      Signed-off-by: default avatarOleg Nesterov <oleg@tv-sign.ru>
      Cc: george anzinger <george@mvista.com>
      Cc: Roland Dreier <rolandd@cisco.com>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Linus Torvalds <torvalds@osdl.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      962b564c
    • Jim Keniston's avatar
      [PATCH] kprobes: Fix return probes on sys_execve · 8bf1101b
      Jim Keniston authored
      Fix a bug in kprobes that can cause an Oops or even a crash when a return
      probe is installed on one of the following functions: sys_execve,
      do_execve, load_*_binary, flush_old_exec, or flush_thread.  The fix is to
      remove the call to kprobe_flush_task() in flush_thread().  This fix has
      been tested on all architectures for which the return-probes feature has
      been implemented (i386, x86_64, ppc64, ia64).  Please apply.
      
      BACKGROUND
      
      Up to now, we have called kprobe_flush_task() under two situations: when a
      task exits, and when it execs.  Flushing kretprobe_instances on exit is
      correct because (a) do_exit() doesn't return, and (b) one or more
      return-probed functions may be active when a task calls do_exit().  Neither
      is the case for sys_execve() and its callees.
      
      Initially, the mistaken call to kprobe_flush_task() on exec was harmless
      because we put the "real" return address of each active probed function
      back in the stack, just to be safe, when we recycled its
      kretprobe_instance.  When support for ppc64 and ia64 was added, this safety
      measure couldn't be employed, and was eventually dropped even for i386 and
      x86_64.  sys_execve() and its callees were informally blacklisted for
      return probes until this fix was developed.
      Acked-by: default avatarPrasanna S Panchamukhi <prasanna@in.ibm.com>
      Signed-off-by: default avatarJim Keniston <jkenisto@us.ibm.com>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      8bf1101b
    • Hugh Dickins's avatar
      [PATCH] mm: fill arch atomic64 gaps · 7c72aaf2
      Hugh Dickins authored
      alpha, sparc64, x86_64 are each missing some primitives from their atomic64
      support: fill in the gaps I've noticed by extrapolating asm, follow the
      groupings in each file.  But powerpc and parisc still lack atomic64.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Richard Henderson <rth@twiddle.net>
      Cc: Ivan Kokshaysky <ink@jurassic.park.msu.ru>
      Cc: "David S. Miller" <davem@davemloft.net>
      Cc: Andi Kleen <ak@muc.de>
      Cc: Nick Piggin <nickpiggin@yahoo.com.au>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7c72aaf2
    • Hugh Dickins's avatar
      [PATCH] mm: powerpc init_mm without ptlock · 7ce774b4
      Hugh Dickins authored
      Restore an earlier mod which went missing in the powerpc reshuffle: the 4xx
      mmu_mapin_ram does not need to take init_mm.page_table_lock.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      7ce774b4
    • Hugh Dickins's avatar
      [PATCH] mm: powerpc ptlock comments · 01edcd89
      Hugh Dickins authored
      Update comments (only) on page_table_lock and mmap_sem in arch/powerpc.
      Removed the comment on page_table_lock from hash_huge_page: since it's no
      longer taking page_table_lock itself, it's irrelevant whether others are; but
      how it is safe (even against huge file truncation?) I can't say.
      Signed-off-by: default avatarHugh Dickins <hugh@veritas.com>
      Cc: Paul Mackerras <paulus@samba.org>
      Cc: Benjamin Herrenschmidt <benh@kernel.crashing.org>
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      01edcd89
    • Hugh Dickins's avatar
      [PATCH] mm: unbloat get_futex_key · cc3327e7
      Hugh Dickins authored
      The follow_page changes in get_futex_key have left it with two almost
      identical blocks, when handling the rare case of a futex in a nonlinear vma.
      get_user_pages will itself do that follow_page, and its additional
      find_extend_vma is hardly any overhead since the vma is already cached.  Let's
      just delete the follow_page block and let get_user_pages do it.
      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>
      cc3327e7
    • Hugh Dickins's avatar
      [PATCH] mm: update split ptlock Kconfig · 7b6ac9df
      Hugh Dickins authored
      Closer attention to the arithmetic shows that neither ppc64 nor sparc really
      uses one page for multiple page tables: how on earth could they, while
      pte_alloc_one returns just a struct page pointer, with no offset?
      
      Well, arm26 manages it by returning a pte_t pointer cast to a struct page
      pointer, harumph, then compensating in its pmd_populate.  But arm26 is never
      SMP, so it's not a problem for split ptlock either.
      
      And the PA-RISC situation has been recently improved: CONFIG_PA20 works
      without the 16-byte alignment which inflated its spinlock_t.  But the current
      union of spinlock_t with private does make the 7xxx struct page significantly
      larger, even without debug, so disable its split ptlock.
      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>
      7b6ac9df
    • Andrew Morton's avatar
      [PATCH] revert floppy-fix-read-only-handling · c101e773
      Andrew Morton authored
      This fix causes problems on the very first floppy access - we haven't yet
      talked to the FDC so we don't know which state the write-protect tab is in.
      
      Revert for now.
      Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
      c101e773
  2. 23 Nov, 2005 5 commits
  3. 22 Nov, 2005 25 commits