lkml.org 
[lkml]   [2010]   [Dec]   [8]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    SubjectRe: [merged] mm-mempolicyc-add-rcu-read-lock-to-protect-pid-structure.patch removed from -mm tree
    Date
    > 
    > The patch titled
    > mm/mempolicy.c: add rcu read lock to protect pid structure
    > has been removed from the -mm tree. Its filename was
    > mm-mempolicyc-add-rcu-read-lock-to-protect-pid-structure.patch
    >
    > This patch was dropped because it was merged into mainline or a subsystem tree
    >
    > The current -mm tree may be found at http://userweb.kernel.org/~akpm/mmotm/
    >
    > ------------------------------------------------------
    > Subject: mm/mempolicy.c: add rcu read lock to protect pid structure
    > From: Zeng Zhaoming <zengzm.kernel@gmail.com>
    >
    > find_task_by_vpid() should be protected by rcu_read_lock(), to prevent
    > free_pid() reclaiming pid.
    >
    > Signed-off-by: Zeng Zhaoming <zengzm.kernel@gmail.com>
    > Cc: "Paul E. McKenney" <paulmck@us.ibm.com>
    > Cc: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    > Cc: Christoph Lameter <cl@linux-foundation.org>
    > Signed-off-by: Andrew Morton <akpm@linux-foundation.org>


    Andrew, please consider pick following patch too.



    ===========================================================================
    From 9de9f70f74e55d92b5e9057e22fc629405f63295 Mon Sep 17 00:00:00 2001
    From: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    Date: Thu, 16 Dec 2010 17:49:23 +0900
    Subject: [PATCH] mempolicy: remove tasklist_lock from migrate_pages

    Today, tasklist_lock in migrate_pages doesn't protect anything.
    rcu_read_lock() provide enough protection from pid hash walk.

    Reported-by: Peter Zijlstra <peterz@infradead.org>
    Cc: Christoph Lameter <cl@linux-foundation.org>
    Signed-off-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>
    ---
    mm/mempolicy.c | 3 ---
    1 files changed, 0 insertions(+), 3 deletions(-)

    diff --git a/mm/mempolicy.c b/mm/mempolicy.c
    index 11ff260..9064945 100644
    --- a/mm/mempolicy.c
    +++ b/mm/mempolicy.c
    @@ -1308,16 +1308,13 @@ SYSCALL_DEFINE4(migrate_pages, pid_t, pid, unsigned long, maxnode,

    /* Find the mm_struct */
    rcu_read_lock();
    - read_lock(&tasklist_lock);
    task = pid ? find_task_by_vpid(pid) : current;
    if (!task) {
    - read_unlock(&tasklist_lock);
    rcu_read_unlock();
    err = -ESRCH;
    goto out;
    }
    mm = get_task_mm(task);
    - read_unlock(&tasklist_lock);
    rcu_read_unlock();

    err = -EINVAL;
    --
    1.6.5.2




    \
     
     \ /
      Last update: 2010-12-08 08:05    [W:4.144 / U:0.012 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site