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 |
| .. |
|
9p
|
9p: Make sure we are able to clunk the cached fid on umount
|
2010-04-05 10:37:36 -05:00 |
|
bluetooth
|
Bluetooth: Convert debug files to actually use debugfs instead of sysfs
|
2010-03-21 05:49:35 +01:00 |
|
irda
|
tree-wide: fix typos "ass?o[sc]iac?te" -> "associate" in comments
|
2010-02-15 15:38:10 +01:00 |
|
iucv
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
netfilter
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
netns
|
packet: convert socket list to RCU (v3)
|
2010-02-22 15:45:56 -08:00 |
|
phonet
|
Phonet: zero-copy GPRS TX
|
2010-01-07 00:24:55 -08:00 |
|
sctp
|
sctp: Fix oops when sending queued ASCONF chunks
|
2010-04-28 12:16:34 -07:00 |
|
tc_act
|
pkt_sched: skbedit add support for setting mark
|
2009-10-22 21:56:42 -07:00 |
|
tipc
|
|
|
|
act_api.h
|
|
|
|
addrconf.h
|
net: Add checking to rcu_dereference() primitives
|
2010-02-25 09:41:03 +01:00 |
|
af_ieee802154.h
|
|
|
|
af_rxrpc.h
|
|
|
|
af_unix.h
|
|
|
|
ah.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
arp.h
|
|
|
|
atmclip.h
|
|
|
|
ax25.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
ax88796.h
|
|
|
|
cfg80211.h
|
nl80211: add power save commands
|
2010-02-19 15:52:40 -05:00 |
|
checksum.h
|
|
|
|
cipso_ipv4.h
|
|
|
|
compat.h
|
net: fix compat_sys_recvmmsg parameter type
|
2009-12-11 15:07:56 -08:00 |
|
datalink.h
|
|
|
|
dcbnl.h
|
|
|
|
dn.h
|
|
|
|
dn_dev.h
|
Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6
|
2009-12-08 07:55:01 -08:00 |
|
dn_fib.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
dn_neigh.h
|
|
|
|
dn_nsp.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
dn_route.h
|
|
|
|
dsa.h
|
|
|
|
dsfield.h
|
|
|
|
dst.h
|
net: Add rtnetlink init_rcvwnd to set the TCP initial receive window
|
2009-12-23 14:13:30 -08:00 |
|
dst_ops.h
|
|
|
|
esp.h
|
|
|
|
ethoc.h
|
|
|
|
fib_rules.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
flow.h
|
|
|
|
garp.h
|
|
|
|
gen_stats.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
genetlink.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
icmp.h
|
icmp: move icmp_err_convert[] to .rodata
|
2010-01-23 01:21:28 -08:00 |
|
ieee80211_radiotap.h
|
wireless: update radiotap parser
|
2010-02-08 16:50:53 -05:00 |
|
ieee802154.h
|
|
|
|
ieee802154_netdev.h
|
ieee802154: add an mlme_ops call to retrieve PHY object
|
2009-11-06 14:32:18 +03:00 |
|
if_inet6.h
|
IPv6: convert mc_lock to spinlock
|
2010-02-17 18:48:44 -08:00 |
|
inet6_connection_sock.h
|
|
|
|
inet6_hashtables.h
|
tcp: Fix a connect() race with timewait sockets
|
2009-12-08 20:17:51 -08:00 |
|
inet_common.h
|
|
|
|
inet_connection_sock.h
|
net: Make setsockopt() optlen be unsigned.
|
2009-09-30 16:12:20 -07:00 |
|
inet_ecn.h
|
|
|
|
inet_frag.h
|
|
|
|
inet_hashtables.h
|
tcp: Fix a connect() race with timewait sockets
|
2009-12-08 20:17:51 -08:00 |
|
inet_sock.h
|
tcp: Generalized TTL Security Mechanism
|
2010-01-11 16:28:01 -08:00 |
|
inet_timewait_sock.h
|
tcp: Fix a connect() race with timewait sockets
|
2009-12-08 20:17:51 -08:00 |
|
inetpeer.h
|
inetpeer: Optimize inet_getid()
|
2009-11-13 20:46:58 -08:00 |
|
ip.h
|
percpu: add __percpu sparse annotations to net
|
2010-02-16 23:05:38 -08:00 |
|
ip6_checksum.h
|
|
|
|
ip6_fib.h
|
ipv6: use standard lists for FIB walks
|
2010-02-18 14:30:17 -08:00 |
|
ip6_route.h
|
ipv6: Optmize translation between IPV6_PREFER_SRC_xxx and RT6_LOOKUP_F_xxx.
|
2010-03-07 15:25:53 -08:00 |
|
ip6_tunnel.h
|
ipv6 ip6_tunnel: eliminate unused recursion field from ip6_tnl{}.
|
2010-03-10 07:32:29 -08:00 |
|
ip_fib.h
|
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/davem/net-2.6
|
2009-11-06 00:55:55 -08:00 |
|
ip_vs.h
|
ipvs: SCTP Trasport Loadbalancing Support
|
2010-02-18 12:31:05 +01:00 |
|
ipcomp.h
|
percpu: add __percpu sparse annotations to net
|
2010-02-16 23:05:38 -08:00 |
|
ipconfig.h
|
|
|
|
ipip.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
ipv6.h
|
ipv6: Remove IPV6_ADDR_RESERVED
|
2010-02-26 03:59:07 -08:00 |
|
ipx.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
iw_handler.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
lapb.h
|
|
|
|
lib80211.h
|
|
|
|
llc.h
|
llc: convert llc_sap_list to RCU
|
2009-12-26 20:46:28 -08:00 |
|
llc_c_ac.h
|
|
|
|
llc_c_ev.h
|
|
|
|
llc_c_st.h
|
|
|
|
llc_conn.h
|
llc: use a device based hash table to speed up multicast delivery
|
2009-12-26 20:43:57 -08:00 |
|
llc_if.h
|
|
|
|
llc_pdu.h
|
|
|
|
llc_s_ac.h
|
|
|
|
llc_s_ev.h
|
|
|
|
llc_s_st.h
|
|
|
|
llc_sap.h
|
|
|
|
mac80211.h
|
mac80211: Fix HT rate control configuration
|
2010-03-03 15:39:21 -05:00 |
|
mip6.h
|
|
|
|
ndisc.h
|
|
|
|
neighbour.h
|
percpu: add __percpu sparse annotations to net
|
2010-02-16 23:05:38 -08:00 |
|
net_namespace.h
|
nsproxy: remove INIT_NSPROXY()
|
2010-03-12 15:52:40 -08:00 |
|
netdma.h
|
|
|
|
netevent.h
|
|
|
|
netlabel.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
netlink.h
|
netlink: fix unaligned access in nla_get_be64()
|
2010-03-19 22:47:23 -07:00 |
|
netrom.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
nexthop.h
|
|
|
|
nl802154.h
|
|
|
|
p8022.h
|
|
|
|
pkt_cls.h
|
net: rename skb->iif to skb->skb_iif
|
2009-11-20 15:35:04 -08:00 |
|
pkt_sched.h
|
sched: add head drop fifo queue
|
2010-01-28 21:27:00 -08:00 |
|
protocol.h
|
net: drop capability from protocol definitions
|
2009-11-05 21:40:17 -08:00 |
|
psnap.h
|
|
|
|
raw.h
|
|
|
|
rawv6.h
|
|
|
|
red.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
regulatory.h
|
cfg80211: add regulatory hint disconnect support
|
2010-02-01 15:40:06 -05:00 |
|
request_sock.h
|
tcp: account SYN-ACK timeouts & retransmissions
|
2010-01-17 19:09:39 -08:00 |
|
rose.h
|
|
|
|
route.h
|
percpu: add __percpu sparse annotations to net
|
2010-02-16 23:05:38 -08:00 |
|
rtnetlink.h
|
rtnetlink: support specifying device flags on device creation
|
2010-02-27 02:43:40 -08:00 |
|
sch_generic.h
|
sched: add head drop fifo queue
|
2010-01-28 21:27:00 -08:00 |
|
scm.h
|
net: cleanup include/net
|
2009-11-04 05:06:25 -08:00 |
|
slhc_vj.h
|
|
|
|
snmp.h
|
percpu: add __percpu sparse annotations to net
|
2010-02-16 23:05:38 -08:00 |
|
sock.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |
|
stp.h
|
|
|
|
tcp.h
|
net: add scheduler sync hint to tcp_prequeue().
|
2010-03-04 00:53:51 -08:00 |
|
tcp_states.h
|
|
|
|
timewait_sock.h
|
|
|
|
transp_v6.h
|
|
|
|
udp.h
|
udp: bind() optimisation
|
2009-11-10 20:54:38 -08:00 |
|
udplite.h
|
|
|
|
wext.h
|
wext: refactor
|
2009-10-07 16:39:43 -04:00 |
|
wimax.h
|
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial
|
2009-12-09 19:43:33 -08:00 |
|
wpan-phy.h
|
ieee802154: add support for creation/removal of logic interfaces
|
2009-11-06 14:32:24 +03:00 |
|
x25.h
|
Merge branch 'master' of /home/davem/src/GIT/linux-2.6/
|
2010-04-11 02:44:30 -07:00 |
|
x25device.h
|
|
|
|
xfrm.h
|
include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h
|
2010-03-30 22:02:32 +09:00 |