diff options
Diffstat (limited to 'net/ipv4/tcp_ipv4.c')
-rw-r--r-- | net/ipv4/tcp_ipv4.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/net/ipv4/tcp_ipv4.c b/net/ipv4/tcp_ipv4.c index 145d3bf8df86..4a8ec457310f 100644 --- a/net/ipv4/tcp_ipv4.c +++ b/net/ipv4/tcp_ipv4.c | |||
@@ -954,7 +954,6 @@ struct tcp_md5sig_key *tcp_md5_do_lookup(struct sock *sk, | |||
954 | { | 954 | { |
955 | struct tcp_sock *tp = tcp_sk(sk); | 955 | struct tcp_sock *tp = tcp_sk(sk); |
956 | struct tcp_md5sig_key *key; | 956 | struct tcp_md5sig_key *key; |
957 | struct hlist_node *pos; | ||
958 | unsigned int size = sizeof(struct in_addr); | 957 | unsigned int size = sizeof(struct in_addr); |
959 | struct tcp_md5sig_info *md5sig; | 958 | struct tcp_md5sig_info *md5sig; |
960 | 959 | ||
@@ -968,7 +967,7 @@ struct tcp_md5sig_key *tcp_md5_do_lookup(struct sock *sk, | |||
968 | if (family == AF_INET6) | 967 | if (family == AF_INET6) |
969 | size = sizeof(struct in6_addr); | 968 | size = sizeof(struct in6_addr); |
970 | #endif | 969 | #endif |
971 | hlist_for_each_entry_rcu(key, pos, &md5sig->head, node) { | 970 | hlist_for_each_entry_rcu(key, &md5sig->head, node) { |
972 | if (key->family != family) | 971 | if (key->family != family) |
973 | continue; | 972 | continue; |
974 | if (!memcmp(&key->addr, addr, size)) | 973 | if (!memcmp(&key->addr, addr, size)) |
@@ -1069,14 +1068,14 @@ static void tcp_clear_md5_list(struct sock *sk) | |||
1069 | { | 1068 | { |
1070 | struct tcp_sock *tp = tcp_sk(sk); | 1069 | struct tcp_sock *tp = tcp_sk(sk); |
1071 | struct tcp_md5sig_key *key; | 1070 | struct tcp_md5sig_key *key; |
1072 | struct hlist_node *pos, *n; | 1071 | struct hlist_node *n; |
1073 | struct tcp_md5sig_info *md5sig; | 1072 | struct tcp_md5sig_info *md5sig; |
1074 | 1073 | ||
1075 | md5sig = rcu_dereference_protected(tp->md5sig_info, 1); | 1074 | md5sig = rcu_dereference_protected(tp->md5sig_info, 1); |
1076 | 1075 | ||
1077 | if (!hlist_empty(&md5sig->head)) | 1076 | if (!hlist_empty(&md5sig->head)) |
1078 | tcp_free_md5sig_pool(); | 1077 | tcp_free_md5sig_pool(); |
1079 | hlist_for_each_entry_safe(key, pos, n, &md5sig->head, node) { | 1078 | hlist_for_each_entry_safe(key, n, &md5sig->head, node) { |
1080 | hlist_del_rcu(&key->node); | 1079 | hlist_del_rcu(&key->node); |
1081 | atomic_sub(sizeof(*key), &sk->sk_omem_alloc); | 1080 | atomic_sub(sizeof(*key), &sk->sk_omem_alloc); |
1082 | kfree_rcu(key, rcu); | 1081 | kfree_rcu(key, rcu); |