diff options
Diffstat (limited to 'net/ipv6/tcp_ipv6.c')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index e463583c39ee..65e797dba504 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c | |||
@@ -622,8 +622,12 @@ clear_hash_noput: | |||
622 | return 1; | 622 | return 1; |
623 | } | 623 | } |
624 | 624 | ||
625 | static bool tcp_v6_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb) | 625 | #endif |
626 | |||
627 | static bool tcp_v6_inbound_md5_hash(const struct sock *sk, | ||
628 | const struct sk_buff *skb) | ||
626 | { | 629 | { |
630 | #ifdef CONFIG_TCP_MD5SIG | ||
627 | const __u8 *hash_location = NULL; | 631 | const __u8 *hash_location = NULL; |
628 | struct tcp_md5sig_key *hash_expected; | 632 | struct tcp_md5sig_key *hash_expected; |
629 | const struct ipv6hdr *ip6h = ipv6_hdr(skb); | 633 | const struct ipv6hdr *ip6h = ipv6_hdr(skb); |
@@ -660,9 +664,9 @@ static bool tcp_v6_inbound_md5_hash(struct sock *sk, const struct sk_buff *skb) | |||
660 | &ip6h->daddr, ntohs(th->dest)); | 664 | &ip6h->daddr, ntohs(th->dest)); |
661 | return true; | 665 | return true; |
662 | } | 666 | } |
667 | #endif | ||
663 | return false; | 668 | return false; |
664 | } | 669 | } |
665 | #endif | ||
666 | 670 | ||
667 | static void tcp_v6_init_req(struct request_sock *req, | 671 | static void tcp_v6_init_req(struct request_sock *req, |
668 | const struct sock *sk_listener, | 672 | const struct sock *sk_listener, |
@@ -1408,10 +1412,8 @@ process: | |||
1408 | 1412 | ||
1409 | tcp_v6_fill_cb(skb, hdr, th); | 1413 | tcp_v6_fill_cb(skb, hdr, th); |
1410 | 1414 | ||
1411 | #ifdef CONFIG_TCP_MD5SIG | ||
1412 | if (tcp_v6_inbound_md5_hash(sk, skb)) | 1415 | if (tcp_v6_inbound_md5_hash(sk, skb)) |
1413 | goto discard_and_relse; | 1416 | goto discard_and_relse; |
1414 | #endif | ||
1415 | 1417 | ||
1416 | if (sk_filter(sk, skb)) | 1418 | if (sk_filter(sk, skb)) |
1417 | goto discard_and_relse; | 1419 | goto discard_and_relse; |