diff options
author | 2014-03-14 13:52:45 +0100 | |
---|---|---|
committer | 2014-03-24 10:05:31 -0700 | |
commit | 2d7091bcf6f893a9b1a2add357c637055eae4e68 (patch) | |
tree | 10af70bb397f7c23f3d6f581a37a1a557d53abbd /drivers/infiniband/ulp/srp/ib_srp.h | |
parent | IB/srp: Add more logging (diff) | |
download | wireguard-linux-2d7091bcf6f893a9b1a2add357c637055eae4e68.tar.xz wireguard-linux-2d7091bcf6f893a9b1a2add357c637055eae4e68.zip |
IB/srp: Avoid duplicate connections
The connection uniqueness check is performed before a new connection
is added to the target list. This patch protects both actions by a
mutex such that simultaneous writes from two different threads into the
"add_target" variable do not result in duplicate connections.
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
Signed-off-by: Roland Dreier <roland@purestorage.com>
Diffstat (limited to 'drivers/infiniband/ulp/srp/ib_srp.h')
-rw-r--r-- | drivers/infiniband/ulp/srp/ib_srp.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/infiniband/ulp/srp/ib_srp.h b/drivers/infiniband/ulp/srp/ib_srp.h index 575681063f38..aad27b7b4a46 100644 --- a/drivers/infiniband/ulp/srp/ib_srp.h +++ b/drivers/infiniband/ulp/srp/ib_srp.h @@ -105,6 +105,7 @@ struct srp_host { spinlock_t target_lock; struct completion released; struct list_head list; + struct mutex add_target_mutex; }; struct srp_request { |