[TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic.
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Tue, 24 Jul 2007 22:27:30 +0000 (15:27 -0700)
committerDavid S. Miller <davem@davemloft.net>
Tue, 24 Jul 2007 22:27:30 +0000 (15:27 -0700)
After clearing all passwords for IPv6 peers, we need to
set allocation count to zero as well as we free the storage.
Otherwise, we panic when a user trys to (re)add a password.

Discovered and fixed by MIYAJIMA Mitsuharu <miyajima.mitsuharu@anchor.jp>.

Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
net/ipv6/tcp_ipv6.c

index d67fb1ef751edc270eaa832d4048c8bff4faa5a0..f10f3689d6710274f90676c8dccc68d1fc1dc43d 100644 (file)
@@ -633,6 +633,7 @@ static int tcp_v6_md5_do_del(struct sock *sk, struct in6_addr *peer)
                        if (tp->md5sig_info->entries6 == 0) {
                                kfree(tp->md5sig_info->keys6);
                                tp->md5sig_info->keys6 = NULL;
+                               tp->md5sig_info->alloced6 = 0;
 
                                tcp_free_md5sig_pool();