Re: Oops in 2.6.0-test2 while linking to a DI-804V VPN router

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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

[Index of Archives]     [Netdev]     [Ethernet Bridging]     [Linux 802.1Q VLAN]     [Linux Wireless]     [Kernel Newbies]     [Security]     [Linux for Hams]     [Netfilter]     [Git]     [Bugtraq]     [Yosemite News and Information]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux PCI]     [Linux Admin]     [Samba]

  Powered by Linux