RDS/IB: protect the list of IB devices
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: Zach Brown <zach.brown@oracle.com>
このコミットが含まれているのは:
@@ -23,6 +23,7 @@
|
||||
|
||||
#define RDS_IB_RECYCLE_BATCH_COUNT 32
|
||||
|
||||
extern struct rw_semaphore rds_ib_devices_lock;
|
||||
extern struct list_head rds_ib_devices;
|
||||
|
||||
/*
|
||||
|
新しいイシューから参照
ユーザーをブロックする