lkml.org 
[lkml]   [2012]   [Sep]   [7]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    Date
    From
    SubjectRe: [PATCH 3/5] mempolicy: fix a race in shared_policy_replace()
    First off, thank you very much for reworking this for me. I haven't got a chance
    to get a test machine for this.

    > shared_policy_replace() use of sp_alloc() is unsafe. 1) sp_node cannot
    > be dereferenced if sp->lock is not held and 2) another thread can modify
    > sp_node between spin_unlock for allocating a new sp node and next spin_lock.
    > The bug was introduced before 2.6.12-rc2.
    >
    > Kosaki's original patch for this problem was to allocate an sp node and policy
    > within shared_policy_replace and initialise it when the lock is reacquired. I
    > was not keen on this approach because it partially duplicates sp_alloc(). As
    > the paths were sp->lock is taken are not that performance critical this
    > patch converts sp->lock to sp->mutex so it can sleep when calling sp_alloc().

    Looks make sense.

    Acked-by: KOSAKI Motohiro <kosaki.motohiro@jp.fujitsu.com>




    \
     
     \ /
      Last update: 2012-09-08 01:42    [W:4.908 / U:2.264 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site