diff options
author | Jon Maloy <jon.maloy@ericsson.com> | 2018-03-22 15:42:49 -0400 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2018-03-23 13:12:18 -0400 |
commit | 23fd3eace088ab1872ee59c19191a119ec779ac9 (patch) | |
tree | 9469f540f7bd0279b0359bff04362877bd28e27b /net/tipc/socket.c | |
parent | b89afb116ca2830cc982624f93e888860868a84b (diff) |
tipc: remove direct accesses to own_addr field in struct tipc_net
As a preparation to changing the addressing structure of TIPC we replace
all direct accesses to the tipc_net::own_addr field with the function
dedicated for this, tipc_own_addr().
There are no changes to program logics in this commit.
Acked-by: Ying Xue <ying.xue@windriver.com>
Signed-off-by: Jon Maloy <jon.maloy@ericsson.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/tipc/socket.c')
-rw-r--r-- | net/tipc/socket.c | 23 |
1 files changed, 10 insertions, 13 deletions
diff --git a/net/tipc/socket.c b/net/tipc/socket.c index 732ec894f69f..275b666f6231 100644 --- a/net/tipc/socket.c +++ b/net/tipc/socket.c | |||
@@ -289,10 +289,9 @@ static bool tipc_sk_type_connectionless(struct sock *sk) | |||
289 | static bool tsk_peer_msg(struct tipc_sock *tsk, struct tipc_msg *msg) | 289 | static bool tsk_peer_msg(struct tipc_sock *tsk, struct tipc_msg *msg) |
290 | { | 290 | { |
291 | struct sock *sk = &tsk->sk; | 291 | struct sock *sk = &tsk->sk; |
292 | struct tipc_net *tn = net_generic(sock_net(sk), tipc_net_id); | 292 | u32 self = tipc_own_addr(sock_net(sk)); |
293 | u32 peer_port = tsk_peer_port(tsk); | 293 | u32 peer_port = tsk_peer_port(tsk); |
294 | u32 orig_node; | 294 | u32 orig_node, peer_node; |
295 | u32 peer_node; | ||
296 | 295 | ||
297 | if (unlikely(!tipc_sk_connected(sk))) | 296 | if (unlikely(!tipc_sk_connected(sk))) |
298 | return false; | 297 | return false; |
@@ -306,10 +305,10 @@ static bool tsk_peer_msg(struct tipc_sock *tsk, struct tipc_msg *msg) | |||
306 | if (likely(orig_node == peer_node)) | 305 | if (likely(orig_node == peer_node)) |
307 | return true; | 306 | return true; |
308 | 307 | ||
309 | if (!orig_node && (peer_node == tn->own_addr)) | 308 | if (!orig_node && peer_node == self) |
310 | return true; | 309 | return true; |
311 | 310 | ||
312 | if (!peer_node && (orig_node == tn->own_addr)) | 311 | if (!peer_node && orig_node == self) |
313 | return true; | 312 | return true; |
314 | 313 | ||
315 | return false; | 314 | return false; |
@@ -461,8 +460,8 @@ static int tipc_sk_create(struct net *net, struct socket *sock, | |||
461 | /* Ensure tsk is visible before we read own_addr. */ | 460 | /* Ensure tsk is visible before we read own_addr. */ |
462 | smp_mb(); | 461 | smp_mb(); |
463 | 462 | ||
464 | tipc_msg_init(tn->own_addr, msg, TIPC_LOW_IMPORTANCE, TIPC_NAMED_MSG, | 463 | tipc_msg_init(tipc_own_addr(net), msg, TIPC_LOW_IMPORTANCE, |
465 | NAMED_H_SIZE, 0); | 464 | TIPC_NAMED_MSG, NAMED_H_SIZE, 0); |
466 | 465 | ||
467 | msg_set_origport(msg, tsk->portid); | 466 | msg_set_origport(msg, tsk->portid); |
468 | timer_setup(&sk->sk_timer, tipc_sk_timeout, 0); | 467 | timer_setup(&sk->sk_timer, tipc_sk_timeout, 0); |
@@ -671,7 +670,6 @@ static int tipc_getname(struct socket *sock, struct sockaddr *uaddr, | |||
671 | struct sockaddr_tipc *addr = (struct sockaddr_tipc *)uaddr; | 670 | struct sockaddr_tipc *addr = (struct sockaddr_tipc *)uaddr; |
672 | struct sock *sk = sock->sk; | 671 | struct sock *sk = sock->sk; |
673 | struct tipc_sock *tsk = tipc_sk(sk); | 672 | struct tipc_sock *tsk = tipc_sk(sk); |
674 | struct tipc_net *tn = net_generic(sock_net(sock->sk), tipc_net_id); | ||
675 | 673 | ||
676 | memset(addr, 0, sizeof(*addr)); | 674 | memset(addr, 0, sizeof(*addr)); |
677 | if (peer) { | 675 | if (peer) { |
@@ -682,7 +680,7 @@ static int tipc_getname(struct socket *sock, struct sockaddr *uaddr, | |||
682 | addr->addr.id.node = tsk_peer_node(tsk); | 680 | addr->addr.id.node = tsk_peer_node(tsk); |
683 | } else { | 681 | } else { |
684 | addr->addr.id.ref = tsk->portid; | 682 | addr->addr.id.ref = tsk->portid; |
685 | addr->addr.id.node = tn->own_addr; | 683 | addr->addr.id.node = tipc_own_addr(sock_net(sk)); |
686 | } | 684 | } |
687 | 685 | ||
688 | addr->addrtype = TIPC_ADDR_ID; | 686 | addr->addrtype = TIPC_ADDR_ID; |
@@ -2667,8 +2665,8 @@ void tipc_sk_reinit(struct net *net) | |||
2667 | while ((tsk = rhashtable_walk_next(&iter)) && !IS_ERR(tsk)) { | 2665 | while ((tsk = rhashtable_walk_next(&iter)) && !IS_ERR(tsk)) { |
2668 | spin_lock_bh(&tsk->sk.sk_lock.slock); | 2666 | spin_lock_bh(&tsk->sk.sk_lock.slock); |
2669 | msg = &tsk->phdr; | 2667 | msg = &tsk->phdr; |
2670 | msg_set_prevnode(msg, tn->own_addr); | 2668 | msg_set_prevnode(msg, tipc_own_addr(net)); |
2671 | msg_set_orignode(msg, tn->own_addr); | 2669 | msg_set_orignode(msg, tipc_own_addr(net)); |
2672 | spin_unlock_bh(&tsk->sk.sk_lock.slock); | 2670 | spin_unlock_bh(&tsk->sk.sk_lock.slock); |
2673 | } | 2671 | } |
2674 | 2672 | ||
@@ -3167,11 +3165,10 @@ static int __tipc_nl_add_sk_info(struct sk_buff *skb, struct tipc_sock | |||
3167 | *tsk) | 3165 | *tsk) |
3168 | { | 3166 | { |
3169 | struct net *net = sock_net(skb->sk); | 3167 | struct net *net = sock_net(skb->sk); |
3170 | struct tipc_net *tn = tipc_net(net); | ||
3171 | struct sock *sk = &tsk->sk; | 3168 | struct sock *sk = &tsk->sk; |
3172 | 3169 | ||
3173 | if (nla_put_u32(skb, TIPC_NLA_SOCK_REF, tsk->portid) || | 3170 | if (nla_put_u32(skb, TIPC_NLA_SOCK_REF, tsk->portid) || |
3174 | nla_put_u32(skb, TIPC_NLA_SOCK_ADDR, tn->own_addr)) | 3171 | nla_put_u32(skb, TIPC_NLA_SOCK_ADDR, tipc_own_addr(net))) |
3175 | return -EMSGSIZE; | 3172 | return -EMSGSIZE; |
3176 | 3173 | ||
3177 | if (tipc_sk_connected(sk)) { | 3174 | if (tipc_sk_connected(sk)) { |