Commit ec33916d authored by Florian Westphal's avatar Florian Westphal Committed by David S. Miller
Browse files

mptcp: don't grow mptcp socket receive buffer when rcvbuf is locked



The mptcp rcvbuf size is adjusted according to the subflow rcvbuf size.
This should not be done if userspace did set a fixed value.

Fixes: 600911ff ("mptcp: add rmem queue accounting")
Signed-off-by: default avatarFlorian Westphal <fw@strlen.de>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 8a4b910d
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -141,11 +141,13 @@ static bool __mptcp_move_skbs_from_subflow(struct mptcp_sock *msk,
	bool more_data_avail;
	struct tcp_sock *tp;
	bool done = false;
	int rcvbuf;

	rcvbuf = max(ssk->sk_rcvbuf, sk->sk_rcvbuf);
	if (!(sk->sk_userlocks & SOCK_RCVBUF_LOCK)) {
		int rcvbuf = max(ssk->sk_rcvbuf, sk->sk_rcvbuf);

		if (rcvbuf > sk->sk_rcvbuf)
			sk->sk_rcvbuf = rcvbuf;
	}

	tp = tcp_sk(ssk);
	do {