Commit b44084c2 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller

inet: rename ir_loc_port to ir_num

In commit 634fb979 ("inet: includes a sock_common in request_sock")
I forgot that the two ports in sock_common do not have same byte order :

skc_dport is __be16 (network order), but skc_num is __u16 (host order)

So sparse complains because ir_loc_port (mapped into skc_num) is
considered as __u16 while it should be __be16

Let rename ir_loc_port to ireq->ir_num (analogy with inet->inet_num),
and perform appropriate htons/ntohs conversions.
Signed-off-by: default avatarEric Dumazet <edumazet@google.com>
Reported-by: default avatarWu Fengguang <fengguang.wu@intel.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ba537427
...@@ -72,7 +72,7 @@ struct inet_request_sock { ...@@ -72,7 +72,7 @@ struct inet_request_sock {
struct request_sock req; struct request_sock req;
#define ir_loc_addr req.__req_common.skc_rcv_saddr #define ir_loc_addr req.__req_common.skc_rcv_saddr
#define ir_rmt_addr req.__req_common.skc_daddr #define ir_rmt_addr req.__req_common.skc_daddr
#define ir_loc_port req.__req_common.skc_num #define ir_num req.__req_common.skc_num
#define ir_rmt_port req.__req_common.skc_dport #define ir_rmt_port req.__req_common.skc_dport
#define ir_v6_rmt_addr req.__req_common.skc_v6_daddr #define ir_v6_rmt_addr req.__req_common.skc_v6_daddr
#define ir_v6_loc_addr req.__req_common.skc_v6_rcv_saddr #define ir_v6_loc_addr req.__req_common.skc_v6_rcv_saddr
......
...@@ -1110,7 +1110,7 @@ static inline void tcp_openreq_init(struct request_sock *req, ...@@ -1110,7 +1110,7 @@ static inline void tcp_openreq_init(struct request_sock *req,
ireq->acked = 0; ireq->acked = 0;
ireq->ecn_ok = 0; ireq->ecn_ok = 0;
ireq->ir_rmt_port = tcp_hdr(skb)->source; ireq->ir_rmt_port = tcp_hdr(skb)->source;
ireq->ir_loc_port = tcp_hdr(skb)->dest; ireq->ir_num = ntohs(tcp_hdr(skb)->dest);
} }
void tcp_enter_memory_pressure(struct sock *sk); void tcp_enter_memory_pressure(struct sock *sk);
......
...@@ -231,7 +231,7 @@ static int dccp_v6_send_response(struct sock *sk, struct request_sock *req) ...@@ -231,7 +231,7 @@ static int dccp_v6_send_response(struct sock *sk, struct request_sock *req)
fl6.flowlabel = 0; fl6.flowlabel = 0;
fl6.flowi6_oif = ireq->ir_iif; fl6.flowi6_oif = ireq->ir_iif;
fl6.fl6_dport = ireq->ir_rmt_port; fl6.fl6_dport = ireq->ir_rmt_port;
fl6.fl6_sport = ireq->ir_loc_port; fl6.fl6_sport = htons(ireq->ir_num);
security_req_classify_flow(req, flowi6_to_flowi(&fl6)); security_req_classify_flow(req, flowi6_to_flowi(&fl6));
...@@ -509,7 +509,7 @@ static struct sock *dccp_v6_request_recv_sock(struct sock *sk, ...@@ -509,7 +509,7 @@ static struct sock *dccp_v6_request_recv_sock(struct sock *sk,
fl6.saddr = ireq->ir_v6_loc_addr; fl6.saddr = ireq->ir_v6_loc_addr;
fl6.flowi6_oif = sk->sk_bound_dev_if; fl6.flowi6_oif = sk->sk_bound_dev_if;
fl6.fl6_dport = ireq->ir_rmt_port; fl6.fl6_dport = ireq->ir_rmt_port;
fl6.fl6_sport = ireq->ir_loc_port; fl6.fl6_sport = htons(ireq->ir_num);
security_sk_classify_flow(sk, flowi6_to_flowi(&fl6)); security_sk_classify_flow(sk, flowi6_to_flowi(&fl6));
dst = ip6_dst_lookup_flow(sk, &fl6, final_p, false); dst = ip6_dst_lookup_flow(sk, &fl6, final_p, false);
......
...@@ -267,7 +267,7 @@ int dccp_reqsk_init(struct request_sock *req, ...@@ -267,7 +267,7 @@ int dccp_reqsk_init(struct request_sock *req,
struct dccp_request_sock *dreq = dccp_rsk(req); struct dccp_request_sock *dreq = dccp_rsk(req);
inet_rsk(req)->ir_rmt_port = dccp_hdr(skb)->dccph_sport; inet_rsk(req)->ir_rmt_port = dccp_hdr(skb)->dccph_sport;
inet_rsk(req)->ir_loc_port = dccp_hdr(skb)->dccph_dport; inet_rsk(req)->ir_num = ntohs(dccp_hdr(skb)->dccph_dport);
inet_rsk(req)->acked = 0; inet_rsk(req)->acked = 0;
dreq->dreq_timestamp_echo = 0; dreq->dreq_timestamp_echo = 0;
......
...@@ -424,7 +424,7 @@ struct sk_buff *dccp_make_response(struct sock *sk, struct dst_entry *dst, ...@@ -424,7 +424,7 @@ struct sk_buff *dccp_make_response(struct sock *sk, struct dst_entry *dst,
/* Build and checksum header */ /* Build and checksum header */
dh = dccp_zeroed_hdr(skb, dccp_header_size); dh = dccp_zeroed_hdr(skb, dccp_header_size);
dh->dccph_sport = inet_rsk(req)->ir_loc_port; dh->dccph_sport = htons(inet_rsk(req)->ir_num);
dh->dccph_dport = inet_rsk(req)->ir_rmt_port; dh->dccph_dport = inet_rsk(req)->ir_rmt_port;
dh->dccph_doff = (dccp_header_size + dh->dccph_doff = (dccp_header_size +
DCCP_SKB_CB(skb)->dccpd_opt_len) / 4; DCCP_SKB_CB(skb)->dccpd_opt_len) / 4;
......
...@@ -676,8 +676,8 @@ struct sock *inet_csk_clone_lock(const struct sock *sk, ...@@ -676,8 +676,8 @@ struct sock *inet_csk_clone_lock(const struct sock *sk,
newicsk->icsk_bind_hash = NULL; newicsk->icsk_bind_hash = NULL;
inet_sk(newsk)->inet_dport = inet_rsk(req)->ir_rmt_port; inet_sk(newsk)->inet_dport = inet_rsk(req)->ir_rmt_port;
inet_sk(newsk)->inet_num = ntohs(inet_rsk(req)->ir_loc_port); inet_sk(newsk)->inet_num = inet_rsk(req)->ir_num;
inet_sk(newsk)->inet_sport = inet_rsk(req)->ir_loc_port; inet_sk(newsk)->inet_sport = htons(inet_rsk(req)->ir_num);
newsk->sk_write_space = sk_stream_write_space; newsk->sk_write_space = sk_stream_write_space;
newicsk->icsk_retransmits = 0; newicsk->icsk_retransmits = 0;
......
...@@ -304,7 +304,7 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb, ...@@ -304,7 +304,7 @@ struct sock *cookie_v4_check(struct sock *sk, struct sk_buff *skb,
treq->rcv_isn = ntohl(th->seq) - 1; treq->rcv_isn = ntohl(th->seq) - 1;
treq->snt_isn = cookie; treq->snt_isn = cookie;
req->mss = mss; req->mss = mss;
ireq->ir_loc_port = th->dest; ireq->ir_num = ntohs(th->dest);
ireq->ir_rmt_port = th->source; ireq->ir_rmt_port = th->source;
ireq->ir_loc_addr = ip_hdr(skb)->daddr; ireq->ir_loc_addr = ip_hdr(skb)->daddr;
ireq->ir_rmt_addr = ip_hdr(skb)->saddr; ireq->ir_rmt_addr = ip_hdr(skb)->saddr;
......
...@@ -2734,7 +2734,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst, ...@@ -2734,7 +2734,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
th->syn = 1; th->syn = 1;
th->ack = 1; th->ack = 1;
TCP_ECN_make_synack(req, th); TCP_ECN_make_synack(req, th);
th->source = ireq->ir_loc_port; th->source = htons(ireq->ir_num);
th->dest = ireq->ir_rmt_port; th->dest = ireq->ir_rmt_port;
/* Setting of flags are superfluous here for callers (and ECE is /* Setting of flags are superfluous here for callers (and ECE is
* not even correctly set) * not even correctly set)
......
...@@ -83,7 +83,7 @@ struct dst_entry *inet6_csk_route_req(struct sock *sk, ...@@ -83,7 +83,7 @@ struct dst_entry *inet6_csk_route_req(struct sock *sk,
fl6->flowi6_oif = ireq->ir_iif; fl6->flowi6_oif = ireq->ir_iif;
fl6->flowi6_mark = sk->sk_mark; fl6->flowi6_mark = sk->sk_mark;
fl6->fl6_dport = ireq->ir_rmt_port; fl6->fl6_dport = ireq->ir_rmt_port;
fl6->fl6_sport = ireq->ir_loc_port; fl6->fl6_sport = htons(ireq->ir_num);
security_req_classify_flow(req, flowi6_to_flowi(fl6)); security_req_classify_flow(req, flowi6_to_flowi(fl6));
dst = ip6_dst_lookup_flow(sk, fl6, final_p, false); dst = ip6_dst_lookup_flow(sk, fl6, final_p, false);
......
...@@ -194,7 +194,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb) ...@@ -194,7 +194,7 @@ struct sock *cookie_v6_check(struct sock *sk, struct sk_buff *skb)
req->mss = mss; req->mss = mss;
ireq->ir_rmt_port = th->source; ireq->ir_rmt_port = th->source;
ireq->ir_loc_port = th->dest; ireq->ir_num = ntohs(th->dest);
ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr; ireq->ir_v6_rmt_addr = ipv6_hdr(skb)->saddr;
ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr; ireq->ir_v6_loc_addr = ipv6_hdr(skb)->daddr;
if (ipv6_opt_accepted(sk, skb) || if (ipv6_opt_accepted(sk, skb) ||
......
...@@ -1735,7 +1735,7 @@ static void get_openreq6(struct seq_file *seq, ...@@ -1735,7 +1735,7 @@ static void get_openreq6(struct seq_file *seq,
i, i,
src->s6_addr32[0], src->s6_addr32[1], src->s6_addr32[0], src->s6_addr32[1],
src->s6_addr32[2], src->s6_addr32[3], src->s6_addr32[2], src->s6_addr32[3],
ntohs(inet_rsk(req)->ir_loc_port), inet_rsk(req)->ir_num,
dest->s6_addr32[0], dest->s6_addr32[1], dest->s6_addr32[0], dest->s6_addr32[1],
dest->s6_addr32[2], dest->s6_addr32[3], dest->s6_addr32[2], dest->s6_addr32[3],
ntohs(inet_rsk(req)->ir_rmt_port), ntohs(inet_rsk(req)->ir_rmt_port),
......
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