On Wed, December 13, 2006 1:29 am, David Miller said:
> I think we're still not onto the right fix.
>
> I took a look, and the issue seems to simply be that the
> __tcp_put_md5sig_pool() is not doing the reference count
> thing that __tcp_get_md5sig_pool() does (via tcp_md5sig_users).
>
> The direct call to __tcp_free_md5sig_pool() seems to be
> what causes this problem, we should be invoking
> tcp_free_md5sig_pool() instead.
>
> Can you give this patch a try?  Thanks.
[...]

I just had to kill the parameter:-

--- net/ipv4/tcp.c.orig 2006-12-10 21:46:26.000000000 +0000
+++ net/ipv4/tcp.c      2006-12-13 17:38:29.000000000 +0000
@@ -2362,7 +2362,7 @@ struct tcp_md5sig_pool *__tcp_get_md5sig
 EXPORT_SYMBOL(__tcp_get_md5sig_pool);

 void __tcp_put_md5sig_pool(void) {
-       __tcp_free_md5sig_pool(tcp_md5sig_pool);
+       tcp_free_md5sig_pool();
 }

 EXPORT_SYMBOL(__tcp_put_md5sig_pool);

It still seems to me that it shouldn't be necessary to alloc and free
the pool from tcp_(get|put)_md5sig_pool, as you'll always have alloc'd
the pool before calculating the hash, but I'm happy enough as at least
its working now.

Cheers,

Leigh.

-
To unsubscribe from this list: send the line "unsubscribe netdev" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to