From: Vlad Yasevich Date: Tue, 21 Aug 2007 05:24:30 +0000 (+0900) Subject: SCTP: Pick the correct port when binding to 0. X-Git-Tag: v2.6.23-rc5~37^2~5^2~5 X-Git-Url: https://err.no/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=2772b495efe341a02c867bc3a03d7362bd336832;p=linux-2.6 SCTP: Pick the correct port when binding to 0. sctp_bindx() allows the use of unspecified port. The problem is that every address we bind to ends up selecting a new port if the user specified port 0. This patch allows re-use of the already selected port when the port from bindx was 0. Signed-off-by: Vlad Yasevich --- diff --git a/net/sctp/socket.c b/net/sctp/socket.c index 01c6364245..de79212267 100644 --- a/net/sctp/socket.c +++ b/net/sctp/socket.c @@ -353,6 +353,7 @@ SCTP_STATIC int sctp_do_bind(struct sock *sk, union sctp_addr *addr, int len) * The function sctp_get_port_local() does duplicate address * detection. */ + addr->v4.sin_port = htons(snum); if ((ret = sctp_get_port_local(sk, addr))) { if (ret == (long) sk) { /* This endpoint has a conflicting address. */