tipc: replace open-code bearer rcu_dereference access in bearer.c

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>
This commit is contained in:
Xin Long 2023-06-05 10:40:44 -04:00 committed by Jakub Kicinski
parent be1f4a262b
commit ae28ea5cbd

View 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_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; struct tipc_bearer *b;
u32 i; 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) 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; struct tipc_bearer *b;
rcu_read_lock(); rcu_read_lock();
b = rcu_dereference(tn->bearer_list[bearer_id]); b = bearer_get(net, bearer_id);
if (b) if (b)
tipc_disc_add_dest(b->disc); tipc_disc_add_dest(b->disc);
rcu_read_unlock(); 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) 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; struct tipc_bearer *b;
rcu_read_lock(); rcu_read_lock();
b = rcu_dereference(tn->bearer_list[bearer_id]); b = bearer_get(net, bearer_id);
if (b) if (b)
tipc_disc_remove_dest(b->disc); tipc_disc_remove_dest(b->disc);
rcu_read_unlock(); rcu_read_unlock();
@ -534,7 +532,7 @@ int tipc_bearer_mtu(struct net *net, u32 bearer_id)
struct tipc_bearer *b; struct tipc_bearer *b;
rcu_read_lock(); rcu_read_lock();
b = rcu_dereference(tipc_net(net)->bearer_list[bearer_id]); b = bearer_get(net, bearer_id);
if (b) if (b)
mtu = b->mtu; mtu = b->mtu;
rcu_read_unlock(); rcu_read_unlock();
@ -745,7 +743,7 @@ void tipc_bearer_cleanup(void)
void tipc_bearer_stop(struct net *net) 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; struct tipc_bearer *b;
u32 i; 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_bearer *bearer;
struct tipc_nl_msg msg; struct tipc_nl_msg msg;
struct net *net = sock_net(skb->sk); 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) if (i == MAX_BEARERS)
return 0; return 0;