Vlad Yasevich
c078669340
sctp: Fix oops when sending queued ASCONF chunks
When we finish processing ASCONF_ACK chunk, we try to send
the next queued ASCONF. This action runs the sctp state
machine recursively and it's not prepared to do so.
kernel BUG at kernel/timer.c:790!
invalid opcode: 0000 [#1] SMP
last sysfs file: /sys/module/ipv6/initstate
Modules linked in: sha256_generic sctp libcrc32c ipv6 dm_multipath
uinput 8139too i2c_piix4 8139cp mii i2c_core pcspkr virtio_net joydev
floppy virtio_blk virtio_pci [last unloaded: scsi_wait_scan]
Pid: 0, comm: swapper Not tainted 2.6.34-rc4 #15 /Bochs
EIP: 0060:[<c044a2ef>] EFLAGS: 00010286 CPU: 0
EIP is at add_timer+0xd/0x1b
EAX: cecbab14 EBX: 000000f0 ECX: c0957b1c EDX: 03595cf4
ESI: cecba800 EDI: cf276f00 EBP: c0957aa0 ESP: c0957aa0
DS: 007b ES: 007b FS: 00d8 GS: 00e0 SS: 0068
Process swapper (pid: 0, ti=c0956000 task=c0988ba0 task.ti=c0956000)
Stack:
c0957ae0 d1851214 c0ab62e4 c0ab5f26 0500ffff 00000004 00000005 00000004
<0> 00000000 d18694fd 00000004 1666b892 cecba800 cecba800 c0957b14
00000004
<0> c0957b94 d1851b11 ceda8b00 cecba800 cf276f00 00000001 c0957b14
000000d0
Call Trace:
[<d1851214>] ? sctp_side_effects+0x607/0xdfc [sctp]
[<d1851b11>] ? sctp_do_sm+0x108/0x159 [sctp]
[<d1863386>] ? sctp_pname+0x0/0x1d [sctp]
[<d1861a56>] ? sctp_primitive_ASCONF+0x36/0x3b [sctp]
[<d185657c>] ? sctp_process_asconf_ack+0x2a4/0x2d3 [sctp]
[<d184e35c>] ? sctp_sf_do_asconf_ack+0x1dd/0x2b4 [sctp]
[<d1851ac1>] ? sctp_do_sm+0xb8/0x159 [sctp]
[<d1863334>] ? sctp_cname+0x0/0x52 [sctp]
[<d1854377>] ? sctp_assoc_bh_rcv+0xac/0xe1 [sctp]
[<d1858f0f>] ? sctp_inq_push+0x2d/0x30 [sctp]
[<d186329d>] ? sctp_rcv+0x797/0x82e [sctp]
Tested-by: Wei Yongjun <yjwei@cn.fujitsu.com>
Signed-off-by: Yuansong Qiao <ysqiao@research.ait.ie>
Signed-off-by: Shuaijun Zhang <szhang@research.ait.ie>
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
2010-04-28 12:16:34 -07:00
..
2010-04-05 10:37:36 -05:00
2010-03-21 05:49:35 +01:00
2010-02-15 15:38:10 +01:00
2010-03-30 22:02:32 +09:00
2010-03-30 22:02:32 +09:00
2010-02-22 15:45:56 -08:00
2010-01-07 00:24:55 -08:00
2010-04-28 12:16:34 -07:00
2009-10-22 21:56:42 -07:00
2009-08-17 21:33:49 -07:00
2010-02-25 09:41:03 +01:00
2009-08-12 21:54:50 -07:00
2008-11-26 15:32:27 -08:00
2009-11-04 05:06:25 -08:00
2009-09-01 17:40:57 -07:00
2009-01-21 14:01:59 -08:00
2010-03-30 22:02:32 +09:00
2009-03-24 23:32:03 -07:00
2010-02-19 15:52:40 -05:00
2009-03-28 15:01:36 +11:00
2009-12-11 15:07:56 -08:00
2009-09-01 01:24:30 -07:00
2009-12-08 07:55:01 -08:00
2009-11-04 05:06:25 -08:00
2009-11-04 05:06:25 -08:00
2008-11-27 23:04:13 -08:00
2009-03-21 19:06:54 -07:00
2009-09-01 17:40:31 -07:00
2009-12-23 14:13:30 -08:00
2009-03-27 00:16:21 -07:00
2010-03-30 22:02:32 +09:00
2008-11-25 17:35:18 -08:00
2009-11-04 05:06:25 -08:00
2009-11-04 05:06:25 -08:00
2010-01-23 01:21:28 -08:00
2010-02-08 16:50:53 -05:00
2009-11-06 14:32:18 +03:00
2009-07-23 17:08:51 +04:00
2010-02-17 18:48:44 -08:00
2009-12-08 20:17:51 -08:00
2009-09-30 16:12:20 -07:00
2009-02-14 22:58:35 -08:00
2009-02-26 23:13:35 -08:00
2009-12-08 20:17:51 -08:00
2010-01-11 16:28:01 -08:00
2009-12-08 20:17:51 -08:00
2009-11-13 20:46:58 -08:00
2010-02-18 14:30:17 -08:00
2010-03-07 15:25:53 -08:00
2010-03-10 07:32:29 -08:00
2009-11-06 00:55:55 -08:00
2010-02-18 12:31:05 +01:00
2010-02-16 23:05:38 -08:00
2010-02-16 23:05:38 -08:00
2009-11-04 05:06:25 -08:00
2010-02-26 03:59:07 -08:00
2010-03-30 22:02:32 +09:00
2009-11-04 05:06:25 -08:00
2009-12-26 20:43:57 -08:00
2009-12-26 20:46:28 -08:00
2010-03-03 15:39:21 -05:00
2009-09-24 07:21:04 -07:00
2010-02-16 23:05:38 -08:00
2010-03-12 15:52:40 -08:00
2009-01-06 11:38:15 -07:00
2010-03-30 22:02:32 +09:00
2010-03-19 22:47:23 -07:00
2010-03-30 22:02:32 +09:00
2009-08-19 23:08:22 +04:00
2009-11-20 15:35:04 -08:00
2010-01-28 21:27:00 -08:00
2009-11-05 21:40:17 -08:00
2009-03-21 19:06:50 -07:00
2009-06-23 04:31:07 -07:00
2009-11-04 05:06:25 -08:00
2010-02-01 15:40:06 -05:00
2010-01-17 19:09:39 -08:00
2009-07-26 19:11:14 -07:00
2010-02-16 23:05:38 -08:00
2010-02-27 02:43:40 -08:00
2010-01-28 21:27:00 -08:00
2009-11-04 05:06:25 -08:00
2010-02-16 23:05:38 -08:00
2010-03-30 22:02:32 +09:00
2010-03-04 00:53:51 -08:00
2009-09-02 01:03:49 -07:00
2009-11-10 20:54:38 -08:00
2009-10-07 16:39:43 -04:00
2009-12-09 19:43:33 -08:00
2009-11-06 14:32:24 +03:00
2010-04-11 02:44:30 -07:00
2010-03-30 22:02:32 +09:00