diff options
author | YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org> | 2007-07-24 15:27:30 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2007-07-24 15:27:30 -0700 |
commit | ca983cefd950ec929582dd95ba6e46d12c2c6959 (patch) | |
tree | db9ebcec76d7b44c4e4e77720144a80a87371f91 /net/ipv6 | |
parent | b8c1c5da1520977cb55a358f20fc09567d40cad9 (diff) | |
download | op-kernel-dev-ca983cefd950ec929582dd95ba6e46d12c2c6959.zip op-kernel-dev-ca983cefd950ec929582dd95ba6e46d12c2c6959.tar.gz |
[TCPv6] MD5SIG: Ensure to reset allocation count to avoid panic.
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>
Diffstat (limited to 'net/ipv6')
-rw-r--r-- | net/ipv6/tcp_ipv6.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/net/ipv6/tcp_ipv6.c b/net/ipv6/tcp_ipv6.c index d67fb1e..f10f368 100644 --- a/net/ipv6/tcp_ipv6.c +++ b/net/ipv6/tcp_ipv6.c @@ -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(); |