summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2019-03-18 20:06:02 +0800
committerDavid S. Miller <davem@davemloft.net>2019-03-18 18:31:08 -0700
commitcface2cb585e392995cc11a4a814b433e6099ec7 (patch)
treeed3d5f248a526e1b24be7b20462570a006489c62
parenta842e65b25a418363bf8196e2343123a984ee69b (diff)
downloadlinux-cface2cb585e392995cc11a4a814b433e6099ec7.tar.gz
linux-cface2cb585e392995cc11a4a814b433e6099ec7.tar.bz2
linux-cface2cb585e392995cc11a4a814b433e6099ec7.zip
sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_CONTEXT sockopt
A similar fix as Patch "sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SEND_PARAM sockopt" on SCTP_CONTEXT sockopt. Fixes: 49b037acca8c ("sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_CONTEXT sockopt") Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
-rw-r--r--net/sctp/socket.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/sctp/socket.c b/net/sctp/socket.c
index 3bac03931b67..b024a625f78a 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -3540,6 +3540,9 @@ static int sctp_setsockopt_context(struct sock *sk, char __user *optval,
return 0;
}
+ if (sctp_style(sk, TCP))
+ params.assoc_id = SCTP_FUTURE_ASSOC;
+
if (params.assoc_id == SCTP_FUTURE_ASSOC ||
params.assoc_id == SCTP_ALL_ASSOC)
sp->default_rcv_context = params.assoc_value;