udp: Clean up some functions.
authorKuniyuki Iwashima <kuniyu@amazon.com>
Mon, 14 Nov 2022 21:57:53 +0000 (13:57 -0800)
committerDavid S. Miller <davem@davemloft.net>
Wed, 16 Nov 2022 09:43:35 +0000 (09:43 +0000)
This patch adds no functional change and cleans up some functions
that the following patches touch around so that we make them tidy
and easy to review/revert.  The change is mainly to keep reverse
christmas tree order.

Signed-off-by: Kuniyuki Iwashima <kuniyu@amazon.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv4/udp.c
net/ipv6/udp.c

index b859d6c..a34de26 100644 (file)
@@ -232,16 +232,16 @@ static int udp_reuseport_add_sock(struct sock *sk, struct udp_hslot *hslot)
 int udp_lib_get_port(struct sock *sk, unsigned short snum,
                     unsigned int hash2_nulladdr)
 {
-       struct udp_hslot *hslot, *hslot2;
        struct udp_table *udptable = sk->sk_prot->h.udp_table;
-       int    error = 1;
+       struct udp_hslot *hslot, *hslot2;
        struct net *net = sock_net(sk);
+       int error = 1;
 
        if (!snum) {
+               DECLARE_BITMAP(bitmap, PORTS_PER_CHAIN);
+               unsigned short first, last;
                int low, high, remaining;
                unsigned int rand;
-               unsigned short first, last;
-               DECLARE_BITMAP(bitmap, PORTS_PER_CHAIN);
 
                inet_get_local_port_range(net, &low, &high);
                remaining = (high - low) + 1;
@@ -2519,10 +2519,13 @@ static struct sock *__udp4_lib_mcast_demux_lookup(struct net *net,
                                                  __be16 rmt_port, __be32 rmt_addr,
                                                  int dif, int sdif)
 {
-       struct sock *sk, *result;
        unsigned short hnum = ntohs(loc_port);
-       unsigned int slot = udp_hashfn(net, hnum, udp_table.mask);
-       struct udp_hslot *hslot = &udp_table.hash[slot];
+       struct sock *sk, *result;
+       struct udp_hslot *hslot;
+       unsigned int slot;
+
+       slot = udp_hashfn(net, hnum, udp_table.mask);
+       hslot = &udp_table.hash[slot];
 
        /* Do not bother scanning a too big list */
        if (hslot->count > 10)
@@ -2550,14 +2553,18 @@ static struct sock *__udp4_lib_demux_lookup(struct net *net,
                                            __be16 rmt_port, __be32 rmt_addr,
                                            int dif, int sdif)
 {
-       unsigned short hnum = ntohs(loc_port);
-       unsigned int hash2 = ipv4_portaddr_hash(net, loc_addr, hnum);
-       unsigned int slot2 = hash2 & udp_table.mask;
-       struct udp_hslot *hslot2 = &udp_table.hash2[slot2];
        INET_ADDR_COOKIE(acookie, rmt_addr, loc_addr);
-       const __portpair ports = INET_COMBINED_PORTS(rmt_port, hnum);
+       unsigned short hnum = ntohs(loc_port);
+       unsigned int hash2, slot2;
+       struct udp_hslot *hslot2;
+       __portpair ports;
        struct sock *sk;
 
+       hash2 = ipv4_portaddr_hash(net, loc_addr, hnum);
+       slot2 = hash2 & udp_table.mask;
+       hslot2 = &udp_table.hash2[slot2];
+       ports = INET_COMBINED_PORTS(rmt_port, hnum);
+
        udp_portaddr_for_each_entry_rcu(sk, &hslot2->head) {
                if (inet_match(net, sk, acookie, ports, dif, sdif))
                        return sk;
@@ -2970,10 +2977,10 @@ EXPORT_SYMBOL(udp_prot);
 
 static struct sock *udp_get_first(struct seq_file *seq, int start)
 {
-       struct sock *sk;
-       struct udp_seq_afinfo *afinfo;
        struct udp_iter_state *state = seq->private;
        struct net *net = seq_file_net(seq);
+       struct udp_seq_afinfo *afinfo;
+       struct sock *sk;
 
        if (state->bpf_seq_afinfo)
                afinfo = state->bpf_seq_afinfo;
@@ -3004,9 +3011,9 @@ found:
 
 static struct sock *udp_get_next(struct seq_file *seq, struct sock *sk)
 {
-       struct udp_seq_afinfo *afinfo;
        struct udp_iter_state *state = seq->private;
        struct net *net = seq_file_net(seq);
+       struct udp_seq_afinfo *afinfo;
 
        if (state->bpf_seq_afinfo)
                afinfo = state->bpf_seq_afinfo;
@@ -3062,8 +3069,8 @@ EXPORT_SYMBOL(udp_seq_next);
 
 void udp_seq_stop(struct seq_file *seq, void *v)
 {
-       struct udp_seq_afinfo *afinfo;
        struct udp_iter_state *state = seq->private;
+       struct udp_seq_afinfo *afinfo;
 
        if (state->bpf_seq_afinfo)
                afinfo = state->bpf_seq_afinfo;
index e2de3d9..727de67 100644 (file)
@@ -1064,12 +1064,16 @@ static struct sock *__udp6_lib_demux_lookup(struct net *net,
                        int dif, int sdif)
 {
        unsigned short hnum = ntohs(loc_port);
-       unsigned int hash2 = ipv6_portaddr_hash(net, loc_addr, hnum);
-       unsigned int slot2 = hash2 & udp_table.mask;
-       struct udp_hslot *hslot2 = &udp_table.hash2[slot2];
-       const __portpair ports = INET_COMBINED_PORTS(rmt_port, hnum);
+       unsigned int hash2, slot2;
+       struct udp_hslot *hslot2;
+       __portpair ports;
        struct sock *sk;
 
+       hash2 = ipv6_portaddr_hash(net, loc_addr, hnum);
+       slot2 = hash2 & udp_table.mask;
+       hslot2 = &udp_table.hash2[slot2];
+       ports = INET_COMBINED_PORTS(rmt_port, hnum);
+
        udp_portaddr_for_each_entry_rcu(sk, &hslot2->head) {
                if (sk->sk_state == TCP_ESTABLISHED &&
                    inet6_match(net, sk, rmt_addr, loc_addr, ports, dif, sdif))