summaryrefslogtreecommitdiffstats
path: root/net/sctp
diff options
context:
space:
mode:
authorXin Long <lucien.xin@gmail.com>2019-03-18 20:06:07 +0800
committerDavid S. Miller <davem@davemloft.net>2019-03-18 18:31:09 -0700
commit200f3a3bcb293d8d55b860632b9d5c9b5e763273 (patch)
tree5a4686c2f2586d2f8b0ab501142fc1c51bc4fa13 /net/sctp
parent220675eb2e485519afbe7f3b457f7ce883086482 (diff)
downloadlinux-stable-200f3a3bcb293d8d55b860632b9d5c9b5e763273.tar.gz
linux-stable-200f3a3bcb293d8d55b860632b9d5c9b5e763273.tar.bz2
linux-stable-200f3a3bcb293d8d55b860632b9d5c9b5e763273.zip
sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_AUTH_DEACTIVATE_KEY sockopt
A similar fix as Patch "sctp: fix ignoring asoc_id for tcp-style sockets on SCTP_DEFAULT_SEND_PARAM sockopt" on SCTP_AUTH_DEACTIVATE_KEY sockopt. Fixes: 2af66ff3edc7 ("sctp: use SCTP_FUTURE_ASSOC and add SCTP_CURRENT_ASSOC for SCTP_AUTH_DEACTIVATE_KEY sockopt") Signed-off-by: Xin Long <lucien.xin@gmail.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/sctp')
-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 087ca0bb86bd..0187444567e0 100644
--- a/net/sctp/socket.c
+++ b/net/sctp/socket.c
@@ -3978,6 +3978,9 @@ static int sctp_setsockopt_deactivate_key(struct sock *sk, char __user *optval,
if (asoc)
return sctp_auth_deact_key_id(ep, asoc, val.scact_keynumber);
+ if (sctp_style(sk, TCP))
+ val.scact_assoc_id = SCTP_FUTURE_ASSOC;
+
if (val.scact_assoc_id == SCTP_FUTURE_ASSOC ||
val.scact_assoc_id == SCTP_ALL_ASSOC) {
ret = sctp_auth_deact_key_id(ep, asoc, val.scact_keynumber);