Shan Wei wrote:
> Wei Yongjun wrote, at 05/11/2010 02:43 PM:
>> commit fbdf501c9374966a56829ecca3a7f25d2b49a305
>> sctp: Do no select unconfirmed transports for retransmissions
>>
>> added code to make sure that we do not select unconfirmed paths
>> for data transmission. This caused a problem when there are only
>> 2 paths, 1 unconfirmed and 1 unreachable. In that case, the next
>> retransmit path returned is NULL and that causes a kernel crash.
>>
>> commit d598b166ced20d9b9281ea3527c0e18405ddb803
>> sctp: Make sure we always return valid retransmit path
>> try to fix it, but if DEBUG is configured, the oops is still
>> exists.
>>
>> Signed-off-by: Wei Yongjun <yjwei@xxxxxxxxxxxxxx>
>> ---
>> net/sctp/associola.c | 15 ++++++++-------
>> 1 files changed, 8 insertions(+), 7 deletions(-)
>>
>> diff --git a/net/sctp/associola.c b/net/sctp/associola.c
>> index 3912420..1f49af5 100644
>> --- a/net/sctp/associola.c
>> +++ b/net/sctp/associola.c
>> @@ -1323,15 +1323,16 @@ void sctp_assoc_update_retran_path(struct sctp_association *asoc)
>> }
>> }
>>
>> - if (t)
>> + if (t) {
>> asoc->peer.retran_path = t;
>>
>> - SCTP_DEBUG_PRINTK_IPADDR("sctp_assoc_update_retran_path:association"
>> - " %p addr: ",
>> - " port: %d\n",
>> - asoc,
>> - (&t->ipaddr),
>> - ntohs(t->ipaddr.v4.sin_port));
>> + SCTP_DEBUG_PRINTK_IPADDR("sctp_assoc_update_retran_path:"
>
> Try __func__ to simplify code.
>
>> + "association %p addr: ",
>> + " port: %d\n",
>> + asoc,
>> + (&t->ipaddr),
>> + ntohs(t->ipaddr.v4.sin_port));
>> + }
>
> How about providing debug infos if t is NULL?
> something like "failed to update retran path", or "no change to retran path".
>
> Tested-by: Shan Wei <shanwei@xxxxxxxxxxxxxx>
>
Sorry, I didn't run with debug enabled.... Actually, we should probably just
refer back to retran_path so that DEBUG output still shows which path we are
retransmitting on.
-vlad
--
To unsubscribe from this list: send the line "unsubscribe linux-sctp" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
[Linux OMAP]
[Linux USB Devel]
[Video for Linux]
[Linux Audio Users]
[Photo]
[Yosemite News]
[Yosemite Photos]
[Free Online Dating]
[Linux Kernel]
[Linux SCSI]
[XFree86]