On Sun, 26 Oct 2003 14:11:46 +1100 Herbert Xu <herbert@gondor.apana.org.au> wrote: > Thank you. That led me to the problem. It was my fault. Any policies > that expire through the timer will be put once too many. > > This patch should fix the problem. It also removes an gratuitous > reference to socket policies. I tried very hard to convince myself that it was correct and I could not do this :-) The lists must hold a reference, as must socket sk_policy[] slots. Any time we attach a policy pointer to some other data structure, we must bump the reference count. After your patch it appears that only xfrm_policy_insert() and timers will be doing that, which doesn't seem correct to me. No reference count of this kind is gratuitous, it is necessary to count the object refs in all places where they occur. - : send the line "unsubscribe linux-net" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html