tipc: replace open-code bearer rcu_dereference access in bearer.c
authorXin Long <lucien.xin@gmail.com>
Mon, 5 Jun 2023 14:40:44 +0000 (10:40 -0400)
committerJakub Kicinski <kuba@kernel.org>
Wed, 7 Jun 2023 04:46:21 +0000 (21:46 -0700)
Replace these open-code bearer rcu_dereference access with bearer_get(),
like other places in bearer.c. While at it, also use tipc_net() instead
of net_generic(net, tipc_net_id) to get "tn" in bearer.c.

Signed-off-by: Xin Long <lucien.xin@gmail.com>
Reviewed-by: Larysa Zaremba <larysa.zaremba@intel.com>
Reviewed-by: Tung Nguyen <tung.q.nguyen@dektech.com.au>
Link: https://lore.kernel.org/r/1072588a8691f970bda950c7e2834d1f2983f58e.1685976044.git.lucien.xin@gmail.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
net/tipc/bearer.c

index 114140c..1d5d367 100644 (file)
@@ -176,7 +176,7 @@ static int bearer_name_validate(const char *name,
  */
 struct tipc_bearer *tipc_bearer_find(struct net *net, const char *name)
 {
-       struct tipc_net *tn = net_generic(net, tipc_net_id);
+       struct tipc_net *tn = tipc_net(net);
        struct tipc_bearer *b;
        u32 i;
 
@@ -211,11 +211,10 @@ int tipc_bearer_get_name(struct net *net, char *name, u32 bearer_id)
 
 void tipc_bearer_add_dest(struct net *net, u32 bearer_id, u32 dest)
 {
-       struct tipc_net *tn = net_generic(net, tipc_net_id);
        struct tipc_bearer *b;
 
        rcu_read_lock();
-       b = rcu_dereference(tn->bearer_list[bearer_id]);
+       b = bearer_get(net, bearer_id);
        if (b)
                tipc_disc_add_dest(b->disc);
        rcu_read_unlock();
@@ -223,11 +222,10 @@ void tipc_bearer_add_dest(struct net *net, u32 bearer_id, u32 dest)
 
 void tipc_bearer_remove_dest(struct net *net, u32 bearer_id, u32 dest)
 {
-       struct tipc_net *tn = net_generic(net, tipc_net_id);
        struct tipc_bearer *b;
 
        rcu_read_lock();
-       b = rcu_dereference(tn->bearer_list[bearer_id]);
+       b = bearer_get(net, bearer_id);
        if (b)
                tipc_disc_remove_dest(b->disc);
        rcu_read_unlock();
@@ -534,7 +532,7 @@ int tipc_bearer_mtu(struct net *net, u32 bearer_id)
        struct tipc_bearer *b;
 
        rcu_read_lock();
-       b = rcu_dereference(tipc_net(net)->bearer_list[bearer_id]);
+       b = bearer_get(net, bearer_id);
        if (b)
                mtu = b->mtu;
        rcu_read_unlock();
@@ -745,7 +743,7 @@ void tipc_bearer_cleanup(void)
 
 void tipc_bearer_stop(struct net *net)
 {
-       struct tipc_net *tn = net_generic(net, tipc_net_id);
+       struct tipc_net *tn = tipc_net(net);
        struct tipc_bearer *b;
        u32 i;
 
@@ -881,7 +879,7 @@ int tipc_nl_bearer_dump(struct sk_buff *skb, struct netlink_callback *cb)
        struct tipc_bearer *bearer;
        struct tipc_nl_msg msg;
        struct net *net = sock_net(skb->sk);
-       struct tipc_net *tn = net_generic(net, tipc_net_id);
+       struct tipc_net *tn = tipc_net(net);
 
        if (i == MAX_BEARERS)
                return 0;