Rename for easy grepping

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
mptcp: Fix Bug #25: Unlock mutex in inet_csk_listen_stop

When destroying a meta-sk in inet_csk_listen_stop, we call
tcp_disconnect.
tcp_disconnect "reverts" an MPTCP-socket to a regular TCP-socket by
setting flags like tp->mpc back to 0. It does this, because NFS for
example (ab)uses tcp_disconnect to avoid creating new sockets.

Anyway, as tp->mpc is set to 0 on the meta, is_meta_sk() will always
return false. So, the mutex will never be unlocked, and potential
subsockets waiting in mptcp_sub_close_wq will sleep forever, resulting
in a hung task:

[624960.204059] INFO: task kworker/u4:0:3416 blocked for more than 120 seconds.
[624960.204075] "echo 0 > /proc/sys/kernel/hung_task_timeout_secs" disables this message.
[624960.204084] kworker/u4:0 D ffffffff 0 3416 2 0x00000000
[624960.204100] Workqueue: mptcp_wq mptcp_sub_close_wq
[624960.204106] dcc36ec0 00000246 ed3dcf28 ffffffff dcc36ef4 93accfa5 00023842 00000000
[624960.204120] eb04c440 ed3dcee0 c15e9ee0 c15e9ee0 c15e9ee0 eb04c440 c15e9ee0 c107c0e2
[624960.204133] 93accfa5 00000125 00000000 00000000 93accfa5 ffffffff ed3dd430 001500e0
[624960.204146] Call Trace:
[624960.204157] [] ? sched_clock_local+0xb2/0x190
[624960.204165] [] ? check_preempt_wakeup+0x104/0x220
[624960.204173] [] ? schedule_preempt_disabled+0x5/0x10
[624960.204181] [] ? __mutex_lock_slowpath+0x14f/0x1d0
[624960.204189] [] ? mutex_lock+0x1d/0x40
[624960.204196] [] ? mptcp_sub_close_wq+0x1b/0xe0
[624960.204203] [] ? process_one_work+0x112/0x3b0
[624960.204211] [] ? xen_hypercall_xen_version+0x7/0x20
[624960.204219] [] ? xen_force_evtchn_callback+0x17/0x30
[624960.204227] [] ? worker_thread+0xfa/0x3b0
[624960.204234] [] ? manage_workers+0x290/0x290
[624960.204241] [] ? kthread+0xa3/0xb0
[624960.204248] [] ? ret_from_kernel_thread+0x1b/0x28
[624960.204256] [] ? kthread_freezable_should_stop+0x50/0x50
[624960.204263] sending NMI to all CPUs:

This patch fixes it, by adding a local variable to inet_csk_listen_stop.

Fixes: https://github.com/multipath-tcp/mptcp/issues/25
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
New stable release v0.88.7

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
mptcp: Correctly check for waiting application before updating sndbuf

In tcp_check_space, we circumvent the check for sk_socket and
SOCK_NOSPACE in order to force the subflow's call to sk_write_space.

However, tcp_new_space does a call to tcp_should_expand_sndbuf before
calling sk_write_space. So, in mptcp_should_expand_sndbuf, we can do the
correct check again. That way we avoid to needlessly increase the
send-buffer.

Reported-by: Mikel Jimenez <mikeljim@fb.com>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
mptcp: Do not try to establish new subflows if the master is not yet fully established

When creating a new MPTCP-session, we call mptcp_v4_add_raddress to
properly add the initial remote address to our address-list. This sets
list_rcvd to 1 and will later trigger the creation of a new subflow.

However, we are not even sure if the master is actually fully
established. We cannot start the creation of new subflows prior to this.

This patch checks for the master being fully established before
attempting to act on the new remote address-event.

Reported-by: Ardhan Madras <ardhan@rocksis.net>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
mptcp: Change sk_shutdown when combining dfin with sub-fin

Because, this is just like a call to shutdown(). So, we have to set
sk_shutdown correctly.

Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
mptcp: Force close a subflow when resetting fallbacked MPTCP session

We have to force the closure of the subflow, because the connection is
completly dead now.

Reported-by: Ardhan Madras <ardhan@rocksis.net>
Signed-off-by: Christoph Paasch <christoph.paasch@uclouvain.be>
Merge remote-tracking branch 'upstream/mptcp_v0.88' into mptcp_v0.88_binder_v6