Nathan Banks <nathan@mccscs.com> wrote: > > Call Trace: > [<c0397feb>] xfrm_state_update+0xeb/0x200 > [<c03a3787>] pfkey_add+0x47/0x120 > [<c03a219f>] parse_exthdrs+0x8f/0xb0 > [<c03a51a8>] pfkey_process+0xb8/0xc0 > [<c03a61a6>] pfkey_sendmsg+0xf6/0x1b0 > [<c032252e>] sock_sendmsg+0x9e/0xd0 > [<c03325c3>] nf_hook_slow+0x103/0x150 > [<c03461d0>] ip_forward_finish+0x0/0x50 > [<c03460e3>] ip_forward+0x1c3/0x2b0 > [<c03461d0>] ip_forward_finish+0x0/0x50 > [<c03222bc>] sockfd_lookup+0x1c/0x80 > [<c0323a53>] sys_sendto+0xe3/0x100 > [<c0344de0>] ip_rcv_finish+0x0/0x280 > [<c0344b82>] ip_rcv+0x422/0x4a0 > [<c0344de0>] ip_rcv_finish+0x0/0x280 > [<c0124396>] update_process_times+0x46/0x60 > [<c0323aa7>] sys_send+0x37/0x40 > [<c0324413>] sys_socketcall+0x163/0x2a0 > [<c01092bb>] syscall_call+0x7/0xb > Code: f3 a5 a8 02 74 02 66 a5 a8 01 74 01 a4 8b 34 24 89 d0 8b 7c That's my fault. I didn't check the existence of encap parameters before copying them. This patch should fix it. -- 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_state.c =================================================================== RCS file: /home/gondolin/herbert/src/CVS/debian/kernel-source-2.5/net/xfrm/xfrm_state.c,v retrieving revision 1.9 diff -u -r1.9 xfrm_state.c --- kernel-source-2.5/net/xfrm/xfrm_state.c 29 Jul 2003 11:11:34 -0000 1.9 +++ kernel-source-2.5/net/xfrm/xfrm_state.c 3 Aug 2003 02:26:51 -0000 @@ -485,7 +485,8 @@ err = -EINVAL; spin_lock_bh(&x1->lock); if (likely(x1->km.state == XFRM_STATE_VALID)) { - memcpy(x1->encap, x->encap, sizeof(*x1->encap)); + if (x->encap && x1->encap) + memcpy(x1->encap, x->encap, sizeof(*x1->encap)); memcpy(&x1->lft, &x->lft, sizeof(x1->lft)); x1->km.dying = 0; err = 0; - : 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