Re: [PATCH for net-next-2.6] sctp: fix oops when update assoc retran path

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

 



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>

-- 
Best Regards
-----
Shan Wei

>  }
>  
>  /* Choose the transport for sending retransmit packet.  */

--
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

[Index of Archives]     [Linux Networking Development]     [Linux OMAP]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux