Commit ae28ea5c authored by Xin Long's avatar Xin Long Committed by Jakub Kicinski

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: default avatarXin Long <lucien.xin@gmail.com>
Reviewed-by: default avatarLarysa Zaremba <larysa.zaremba@intel.com>
Reviewed-by: default avatarTung Nguyen <tung.q.nguyen@dektech.com.au>
Link: https://lore.kernel.org/r/1072588a8691f970bda950c7e2834d1f2983f58e.1685976044.git.lucien.xin@gmail.comSigned-off-by: default avatarJakub Kicinski <kuba@kernel.org>
parent be1f4a26
...@@ -176,7 +176,7 @@ static int bearer_name_validate(const char *name, ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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) ...@@ -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;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment