Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 04e2661e authored by Arnaldo Carvalho de Melo's avatar Arnaldo Carvalho de Melo Committed by David S. Miller
Browse files

[DCCP]: Call dccp_feat_init more early in dccp_v4_init_sock



So that dccp_feat_clean doesn't get confused with uninitialized
list_heads.

Noticed when testing with no ccid kernel modules.

Signed-off-by: default avatarArnaldo Carvalho de Melo <acme@mandriva.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 057fc675
Loading
Loading
Loading
Loading
+4 −5
Original line number Diff line number Diff line
@@ -1051,7 +1051,10 @@ int dccp_v4_init_sock(struct sock *sk)
	 * setsockopt(CCIDs-I-want/accept). -acme
	 */
	if (likely(!dccp_ctl_socket_init)) {
		int rc;
		int rc = dccp_feat_init(sk);

		if (rc)
			return rc;

		if (dp->dccps_options.dccpo_send_ack_vector) {
			dp->dccps_hc_rx_ackvec = dccp_ackvec_alloc(GFP_KERNEL);
@@ -1075,10 +1078,6 @@ int dccp_v4_init_sock(struct sock *sk)
			dp->dccps_hc_rx_ccid = dp->dccps_hc_tx_ccid = NULL;
			return -ENOMEM;
		}

		rc = dccp_feat_init(sk);
		if (rc)
			return rc;
	} else {
		/* control socket doesn't need feat nego */
		INIT_LIST_HEAD(&dp->dccps_options.dccpo_pending);