ipv6: Shrink udp_v6_mcast_next() to one socket variable
authorSven Wegener <sven.wegener@stealer.net>
Thu, 29 May 2014 20:27:06 +0000 (20:27 +0000)
committerDavid S. Miller <davem@davemloft.net>
Thu, 5 Jun 2014 23:23:08 +0000 (16:23 -0700)
To avoid the confusion of having two variables, shrink the function to
only use the parameter variable for looping.

Cc: Eric Dumazet <edumazet@google.com>
Signed-off-by: Sven Wegener <sven.wegener@stealer.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/udp.c

index 4180f54a948e50db285db920153f54096eb5b134..95c8347992882e5cbef7719b0ae940fc659af057 100644 (file)
@@ -705,35 +705,34 @@ static struct sock *udp_v6_mcast_next(struct net *net, struct sock *sk,
                                      int dif)
 {
        struct hlist_nulls_node *node;
-       struct sock *s = sk;
        unsigned short num = ntohs(loc_port);
 
-       sk_nulls_for_each_from(s, node) {
-               struct inet_sock *inet = inet_sk(s);
+       sk_nulls_for_each_from(sk, node) {
+               struct inet_sock *inet = inet_sk(sk);
 
-               if (!net_eq(sock_net(s), net))
+               if (!net_eq(sock_net(sk), net))
                        continue;
 
-               if (udp_sk(s)->udp_port_hash == num &&
-                   s->sk_family == PF_INET6) {
+               if (udp_sk(sk)->udp_port_hash == num &&
+                   sk->sk_family == PF_INET6) {
                        if (inet->inet_dport) {
                                if (inet->inet_dport != rmt_port)
                                        continue;
                        }
-                       if (!ipv6_addr_any(&s->sk_v6_daddr) &&
-                           !ipv6_addr_equal(&s->sk_v6_daddr, rmt_addr))
+                       if (!ipv6_addr_any(&sk->sk_v6_daddr) &&
+                           !ipv6_addr_equal(&sk->sk_v6_daddr, rmt_addr))
                                continue;
 
-                       if (s->sk_bound_dev_if && s->sk_bound_dev_if != dif)
+                       if (sk->sk_bound_dev_if && sk->sk_bound_dev_if != dif)
                                continue;
 
-                       if (!ipv6_addr_any(&s->sk_v6_rcv_saddr)) {
-                               if (!ipv6_addr_equal(&s->sk_v6_rcv_saddr, loc_addr))
+                       if (!ipv6_addr_any(&sk->sk_v6_rcv_saddr)) {
+                               if (!ipv6_addr_equal(&sk->sk_v6_rcv_saddr, loc_addr))
                                        continue;
                        }
-                       if (!inet6_mc_check(s, loc_addr, rmt_addr))
+                       if (!inet6_mc_check(sk, loc_addr, rmt_addr))
                                continue;
-                       return s;
+                       return sk;
                }
        }
        return NULL;