• Zach Brown's avatar
    RDS/IB: protect the list of IB devices · ea819867
    Zach Brown authored
    The RDS IB device list wasn't protected by any locking.  Traversal in
    both the get_mr and FMR flushing paths could race with additon and
    removal.
    
    List manipulation is done with RCU primatives and is protected by the
    write side of a rwsem.  The list traversal in the get_mr fast path is
    protected by a rcu read critical section.  The FMR list traversal is
    more problematic because it can block while traversing the list.  We
    protect this with the read side of the rwsem.
    Signed-off-by: default avatarZach Brown <zach.brown@oracle.com>
    ea819867
ib_rdma.c 20.5 KB