summaryrefslogtreecommitdiff
path: root/net/dccp/feat.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/dccp/feat.c')
-rw-r--r--net/dccp/feat.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/net/dccp/feat.c b/net/dccp/feat.c
index a687740e4420..9a4938092783 100644
--- a/net/dccp/feat.c
+++ b/net/dccp/feat.c
@@ -1158,6 +1158,11 @@ int dccp_feat_init(struct sock *sk)
ccid_get_builtin_ccids(&rx.val, &rx.len))
return -ENOBUFS;
+ /* Pre-load all CCID modules that are going to be advertised */
+ rc = -EUNATCH;
+ if (ccid_request_modules(tx.val, tx.len))
+ goto free_ccid_lists;
+
if (!dccp_feat_prefer(sysctl_dccp_feat_tx_ccid, tx.val, tx.len) ||
!dccp_feat_prefer(sysctl_dccp_feat_rx_ccid, rx.val, rx.len))
goto free_ccid_lists;