mirror of
https://github.com/torvalds/linux.git
synced 2026-06-06 13:37:36 +02:00
udp: Clean up some functions.
[ Upstream commit919dfa0b20] 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> Stable-dep-of:7a7160edf1("net: Return errno in sk->sk_prot->get_port().") Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
parent
53fc231277
commit
073b50de84
|
|
@ -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;
|
||||
|
|
@ -2518,10 +2518,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)
|
||||
|
|
@ -2549,14 +2552,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;
|
||||
|
|
@ -2957,10 +2964,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;
|
||||
|
|
@ -2991,9 +2998,9 @@ static struct sock *udp_get_first(struct seq_file *seq, int start)
|
|||
|
||||
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;
|
||||
|
|
@ -3049,8 +3056,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;
|
||||
|
|
|
|||
|
|
@ -1063,12 +1063,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))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user