tcp: md5: get rid of tcp_v[46]_reqsk_md5_lookup()
With request socks convergence, we no longer need different lookup methods. A request socket can use generic lookup function. Add const qualifier to 2nd tcp_v[46]_md5_lookup() parameter. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
39f8e58e53
commit
fd3a154a00
@ -1303,7 +1303,7 @@ int tcp_md5_do_add(struct sock *sk, const union tcp_md5_addr *addr,
|
||||
int tcp_md5_do_del(struct sock *sk, const union tcp_md5_addr *addr,
|
||||
int family);
|
||||
struct tcp_md5sig_key *tcp_v4_md5_lookup(struct sock *sk,
|
||||
struct sock *addr_sk);
|
||||
const struct sock *addr_sk);
|
||||
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
struct tcp_md5sig_key *tcp_md5_do_lookup(struct sock *sk,
|
||||
@ -1614,7 +1614,7 @@ int tcp_conn_request(struct request_sock_ops *rsk_ops,
|
||||
struct tcp_sock_af_ops {
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
struct tcp_md5sig_key *(*md5_lookup) (struct sock *sk,
|
||||
struct sock *addr_sk);
|
||||
const struct sock *addr_sk);
|
||||
int (*calc_md5_hash)(char *location,
|
||||
const struct tcp_md5sig_key *md5,
|
||||
const struct sock *sk,
|
||||
@ -1628,8 +1628,8 @@ struct tcp_sock_af_ops {
|
||||
struct tcp_request_sock_ops {
|
||||
u16 mss_clamp;
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
struct tcp_md5sig_key *(*md5_lookup) (struct sock *sk,
|
||||
struct request_sock *req);
|
||||
struct tcp_md5sig_key *(*req_md5_lookup)(struct sock *sk,
|
||||
const struct sock *addr_sk);
|
||||
int (*calc_md5_hash) (char *location,
|
||||
const struct tcp_md5sig_key *md5,
|
||||
const struct sock *sk,
|
||||
|
@ -898,10 +898,10 @@ struct tcp_md5sig_key *tcp_md5_do_lookup(struct sock *sk,
|
||||
const union tcp_md5_addr *addr,
|
||||
int family)
|
||||
{
|
||||
struct tcp_sock *tp = tcp_sk(sk);
|
||||
const struct tcp_sock *tp = tcp_sk(sk);
|
||||
struct tcp_md5sig_key *key;
|
||||
unsigned int size = sizeof(struct in_addr);
|
||||
struct tcp_md5sig_info *md5sig;
|
||||
const struct tcp_md5sig_info *md5sig;
|
||||
|
||||
/* caller either holds rcu_read_lock() or socket lock */
|
||||
md5sig = rcu_dereference_check(tp->md5sig_info,
|
||||
@ -924,24 +924,15 @@ struct tcp_md5sig_key *tcp_md5_do_lookup(struct sock *sk,
|
||||
EXPORT_SYMBOL(tcp_md5_do_lookup);
|
||||
|
||||
struct tcp_md5sig_key *tcp_v4_md5_lookup(struct sock *sk,
|
||||
struct sock *addr_sk)
|
||||
const struct sock *addr_sk)
|
||||
{
|
||||
union tcp_md5_addr *addr;
|
||||
|
||||
addr = (union tcp_md5_addr *)&inet_sk(addr_sk)->inet_daddr;
|
||||
addr = (union tcp_md5_addr *)&sk->sk_daddr;
|
||||
return tcp_md5_do_lookup(sk, addr, AF_INET);
|
||||
}
|
||||
EXPORT_SYMBOL(tcp_v4_md5_lookup);
|
||||
|
||||
static struct tcp_md5sig_key *tcp_v4_reqsk_md5_lookup(struct sock *sk,
|
||||
struct request_sock *req)
|
||||
{
|
||||
union tcp_md5_addr *addr;
|
||||
|
||||
addr = (union tcp_md5_addr *)&inet_rsk(req)->ir_rmt_addr;
|
||||
return tcp_md5_do_lookup(sk, addr, AF_INET);
|
||||
}
|
||||
|
||||
/* This can be called on a newly created socket, from other files */
|
||||
int tcp_md5_do_add(struct sock *sk, const union tcp_md5_addr *addr,
|
||||
int family, const u8 *newkey, u8 newkeylen, gfp_t gfp)
|
||||
@ -1247,7 +1238,7 @@ struct request_sock_ops tcp_request_sock_ops __read_mostly = {
|
||||
static const struct tcp_request_sock_ops tcp_request_sock_ipv4_ops = {
|
||||
.mss_clamp = TCP_MSS_DEFAULT,
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
.md5_lookup = tcp_v4_reqsk_md5_lookup,
|
||||
.req_md5_lookup = tcp_v4_md5_lookup,
|
||||
.calc_md5_hash = tcp_v4_md5_hash_skb,
|
||||
#endif
|
||||
.init_req = tcp_v4_init_req,
|
||||
|
@ -2938,7 +2938,7 @@ struct sk_buff *tcp_make_synack(struct sock *sk, struct dst_entry *dst,
|
||||
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
rcu_read_lock();
|
||||
md5 = tcp_rsk(req)->af_specific->md5_lookup(sk, req);
|
||||
md5 = tcp_rsk(req)->af_specific->req_md5_lookup(sk, req_to_sk(req));
|
||||
#endif
|
||||
tcp_header_size = tcp_synack_options(sk, req, mss, skb, &opts, md5,
|
||||
foc) + sizeof(*th);
|
||||
|
@ -486,17 +486,11 @@ static struct tcp_md5sig_key *tcp_v6_md5_do_lookup(struct sock *sk,
|
||||
}
|
||||
|
||||
static struct tcp_md5sig_key *tcp_v6_md5_lookup(struct sock *sk,
|
||||
struct sock *addr_sk)
|
||||
const struct sock *addr_sk)
|
||||
{
|
||||
return tcp_v6_md5_do_lookup(sk, &addr_sk->sk_v6_daddr);
|
||||
}
|
||||
|
||||
static struct tcp_md5sig_key *tcp_v6_reqsk_md5_lookup(struct sock *sk,
|
||||
struct request_sock *req)
|
||||
{
|
||||
return tcp_v6_md5_do_lookup(sk, &inet_rsk(req)->ir_v6_rmt_addr);
|
||||
}
|
||||
|
||||
static int tcp_v6_parse_md5_keys(struct sock *sk, char __user *optval,
|
||||
int optlen)
|
||||
{
|
||||
@ -720,7 +714,7 @@ static const struct tcp_request_sock_ops tcp_request_sock_ipv6_ops = {
|
||||
.mss_clamp = IPV6_MIN_MTU - sizeof(struct tcphdr) -
|
||||
sizeof(struct ipv6hdr),
|
||||
#ifdef CONFIG_TCP_MD5SIG
|
||||
.md5_lookup = tcp_v6_reqsk_md5_lookup,
|
||||
.req_md5_lookup = tcp_v6_md5_lookup,
|
||||
.calc_md5_hash = tcp_v6_md5_hash_skb,
|
||||
#endif
|
||||
.init_req = tcp_v6_init_req,
|
||||
|
Loading…
Reference in New Issue
Block a user