diff options
Diffstat (limited to 'net')
| -rw-r--r-- | net/mptcp/pm_netlink.c | 9 | ||||
| -rw-r--r-- | net/mptcp/protocol.c | 5 | 
2 files changed, 8 insertions, 6 deletions
| diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c index 483ddbb9ec40..d5b383870f79 100644 --- a/net/mptcp/pm_netlink.c +++ b/net/mptcp/pm_netlink.c @@ -413,8 +413,13 @@ static int mptcp_event_created(struct sk_buff *skb,  	if (err)  		return err; -	if (nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, READ_ONCE(msk->pm.server_side))) -		return -EMSGSIZE; +	if (READ_ONCE(msk->pm.server_side)) { +		flags |= MPTCP_PM_EV_FLAG_SERVER_SIDE; + +		/* Deprecated, and only set when it is the server side */ +		if (nla_put_u8(skb, MPTCP_ATTR_SERVER_SIDE, 1)) +			return -EMSGSIZE; +	}  	if (READ_ONCE(msk->pm.remote_deny_join_id0))  		flags |= MPTCP_PM_EV_FLAG_DENY_JOIN_ID0; diff --git a/net/mptcp/protocol.c b/net/mptcp/protocol.c index d9fbddb99ad0..735a209d4072 100644 --- a/net/mptcp/protocol.c +++ b/net/mptcp/protocol.c @@ -545,11 +545,10 @@ static void mptcp_cleanup_rbuf(struct mptcp_sock *msk, int copied)  	}  } -static bool mptcp_check_data_fin(struct sock *sk) +static void mptcp_check_data_fin(struct sock *sk)  {  	struct mptcp_sock *msk = mptcp_sk(sk);  	u64 rcv_data_fin_seq; -	bool ret = false;  	/* Need to ack a DATA_FIN received from a peer while this side  	 * of the connection is in ESTABLISHED, FIN_WAIT1, or FIN_WAIT2. @@ -588,12 +587,10 @@ static bool mptcp_check_data_fin(struct sock *sk)  			break;  		} -		ret = true;  		if (!__mptcp_check_fallback(msk))  			mptcp_send_ack(msk);  		mptcp_close_wake_up(sk);  	} -	return ret;  }  static void mptcp_dss_corruption(struct mptcp_sock *msk, struct sock *ssk) | 
