RDMA/rtrs: Require holding rcu_read_lock explicitly
authorZhu Yanjun <yanjun.zhu@linux.dev>
Tue, 19 Sep 2023 07:37:27 +0000 (15:37 +0800)
committerLeon Romanovsky <leon@kernel.org>
Tue, 19 Sep 2023 08:23:17 +0000 (11:23 +0300)
No functional change. The function get_next_path_rr needs to hold
rcu_read_lock. As such, if no rcu read lock, warnings will pop out.

Acked-by: Jack Wang <jinpu.wang@ionos.com>
Signed-off-by: Zhu Yanjun <yanjun.zhu@linux.dev>
Link: https://lore.kernel.org/r/20230919073727.540207-1-yanjun.zhu@intel.com
Signed-off-by: Leon Romanovsky <leon@kernel.org>
drivers/infiniband/ulp/rtrs/rtrs-clt.c

index b6ee801fd0ffbf17740d083afa41ef340302fc55..07261523c554735fd1ef3cf950a0e5a399b9cbaa 100644 (file)
@@ -775,7 +775,7 @@ rtrs_clt_get_next_path_or_null(struct list_head *head, struct rtrs_clt_path *clt
  * Related to @MP_POLICY_RR
  *
  * Locks:
- *    rcu_read_lock() must be hold.
+ *    rcu_read_lock() must be held.
  */
 static struct rtrs_clt_path *get_next_path_rr(struct path_it *it)
 {
@@ -783,6 +783,11 @@ static struct rtrs_clt_path *get_next_path_rr(struct path_it *it)
        struct rtrs_clt_path *path;
        struct rtrs_clt_sess *clt;
 
+       /*
+        * Assert that rcu lock must be held
+        */
+       RCU_LOCKDEP_WARN(!rcu_read_lock_held(), "no rcu read lock held");
+
        clt = it->clt;
 
        /*