Karl Vogel <karl.vogel@seagha.com> wrote: > > EIP is at __xfrm_policy_destroy+0x27/0x60 > > Call trace: > run_timer_softirq+0xce/0x1b0 > do_softirq+0x96/0xa0 > do_IRQ+0x109/0x140 > _stext+0x0/0x60 > common_interrupt+0x18/0x20 > _stext+0x0/0x60 > default_idle+0x26/0x30 > cpu_idle+0x34/0x40 > start_kernel+0x17b/0x1b0 > unknown_bootoption+0x0/0x100 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. Cheers, -- Debian GNU/Linux 3.0 is out! ( http://www.debian.org/ ) Email: Herbert Xu ~{PmV>HI~} <herbert@gondor.apana.org.au> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt -- Index: kernel-source-2.5/net/xfrm/xfrm_policy.c =================================================================== RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source-2.5/net/xfrm/xfrm_policy.c,v retrieving revision 1.27 diff -u -r1.27 xfrm_policy.c --- kernel-source-2.5/net/xfrm/xfrm_policy.c 18 Oct 2003 03:09:04 -0000 1.27 +++ kernel-source-2.5/net/xfrm/xfrm_policy.c 26 Oct 2003 02:58:45 -0000 @@ -511,7 +511,6 @@ { pol->next = xfrm_policy_list[dir]; xfrm_policy_list[dir] = pol; - xfrm_pol_hold(pol); } static struct xfrm_policy *__xfrm_policy_unlink(struct xfrm_policy *pol, @@ -523,7 +522,6 @@ *polp != NULL; polp = &(*polp)->next) { if (*polp == pol) { *polp = pol->next; - atomic_dec(&pol->refcnt); return pol; } } - : 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