29 May, 2009

8 commits

  • The flat loader uses an architecture's flat_stack_align() to align the
    stack but assumes word-alignment is enough for the data sections.

    However, on the Xtensa S6000 we have registers up to 128bit width
    which can be used from userspace and therefor need userspace stack and
    data-section alignment of at least this size.

    This patch drops flat_stack_align() and uses the same alignment that
    is required for slab caches, ARCH_SLAB_MINALIGN, or wordsize if it's
    not defined by the architecture.

    It also fixes m32r which was obviously kaput, aligning an
    uninitialized stack entry instead of the stack pointer.

    [akpm@linux-foundation.org: coding-style fixes]
    Signed-off-by: Oskar Schirmer
    Cc: David Howells
    Cc: Russell King
    Cc: Bryan Wu
    Cc: Geert Uytterhoeven
    Acked-by: Paul Mundt
    Cc: Greg Ungerer
    Signed-off-by: Johannes Weiner
    Acked-by: Mike Frysinger
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Oskar Schirmer
     
  • Signed-off-by: Thomas
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Thomas Dahlmann
     
  • The check for an overindexing of mpc52xx_uart_{ports,nodes} has an
    off-by-one.

    Signed-off-by: Roel Kluin
    Acked-by: Wolfram Sang
    Acked-by: Grant Likely
    Cc: Benjamin Herrenschmidt
    Cc: Alan Cox
    Cc:
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Roel Kluin
     
  • mapping->tree_lock can be acquired from interrupt context. Then,
    following dead lock can occur.

    Assume "A" as a page.

    CPU0:
    lock_page_cgroup(A)
    interrupted
    -> take mapping->tree_lock.
    CPU1:
    take mapping->tree_lock
    -> lock_page_cgroup(A)

    This patch tries to fix above deadlock by moving memcg's hook to out of
    mapping->tree_lock. charge/uncharge of pagecache/swapcache is protected
    by page lock, not tree_lock.

    After this patch, lock_page_cgroup() is not called under mapping->tree_lock.

    Signed-off-by: KAMEZAWA Hiroyuki
    Signed-off-by: Daisuke Nishimura
    Cc: Balbir Singh
    Cc: Daisuke Nishimura
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Daisuke Nishimura
     
  • proc_pident_instantiate() has following call flow.

    proc_pident_lookup()
    proc_pident_instantiate()
    proc_pid_make_inode()

    And, proc_pident_lookup() has following error handling.

    const struct pid_entry *p, *last;
    error = ERR_PTR(-ENOENT);
    if (!task)
    goto out_no_task;

    Then, proc_pident_instantiate should return ENOENT too when racing against
    exit(2) occur.

    EINAL has two bad reason.
    - it implies caller is wrong. bad the race isn't caller's mistake.
    - man 2 open don't explain EINVAL. user often don't handle it.

    Note: Other proc_pid_make_inode() caller already use ENOENT properly.

    Acked-by: Eric W. Biederman
    Cc: Alexey Dobriyan
    Signed-off-by: KOSAKI Motohiro
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    KOSAKI Motohiro
     
  • linux/cred.h can't be included as first header (alphabetical order)
    because it uses __init which is enough to break compilation on some archs.

    Signed-off-by: Alexey Dobriyan
    Acked-by: James Morris
    Acked-by: David Howells
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Alexey Dobriyan
     
  • When /proc/sys/vm/oom_dump_tasks is enabled, it is possible to get a NULL
    pointer for tasks that have detached mm's since task_lock() is not held
    during the tasklist scan. Add the task_lock().

    Acked-by: Nick Piggin
    Acked-by: Mel Gorman
    Cc: Rik van Riel
    Signed-off-by: David Rientjes
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    David Rientjes
     
  • Entries should be P: name then M: email address.

    Signed-off-by: Joe Perches
    Acked-by: Doug Thompson
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Joe Perches
     

28 May, 2009

5 commits


27 May, 2009

27 commits