diff options
author | Vlad Yasevich <vladislav.yasevich@hp.com> | 2008-09-18 16:28:27 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2008-09-18 16:28:27 -0700 |
commit | add52379dde2e5300e2d574b172e62c6cf43b3d3 (patch) | |
tree | c322f35beba73d356a44c1e31fed7a5791175eb6 /virt | |
parent | 0ef46e285c062cbe35d60c0adbff96f530d31c86 (diff) | |
download | linux-stable-add52379dde2e5300e2d574b172e62c6cf43b3d3.tar.gz linux-stable-add52379dde2e5300e2d574b172e62c6cf43b3d3.tar.bz2 linux-stable-add52379dde2e5300e2d574b172e62c6cf43b3d3.zip |
sctp: Fix oops when INIT-ACK indicates that peer doesn't support AUTH
If INIT-ACK is received with SupportedExtensions parameter which
indicates that the peer does not support AUTH, the packet will be
silently ignore, and sctp_process_init() do cleanup all of the
transports in the association.
When T1-Init timer is expires, OOPS happen while we try to choose
a different init transport.
The solution is to only clean up the non-active transports, i.e
the ones that the peer added. However, that introduces a problem
with sctp_connectx(), because we don't mark the proper state for
the transports provided by the user. So, we'll simply mark
user-provided transports as ACTIVE. That will allow INIT
retransmissions to work properly in the sctp_connectx() context
and prevent the crash.
Signed-off-by: Vlad Yasevich <vladislav.yasevich@hp.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'virt')
0 files changed, 0 insertions, 0 deletions