| From foo@baz Mon Nov 16 07:48:29 PM CET 2020 |
| From: Paolo Abeni <pabeni@redhat.com> |
| Date: Sun, 8 Nov 2020 19:49:59 +0100 |
| Subject: mptcp: provide rmem[0] limit |
| |
| From: Paolo Abeni <pabeni@redhat.com> |
| |
| [ Upstream commit 989ef49bdf100cc772b3a8737089df36b1ab1e30 ] |
| |
| The mptcp proto struct currently does not provide the |
| required limit for forward memory scheduling. Under |
| pressure sk_rmem_schedule() will unconditionally try |
| to use such field and will oops. |
| |
| Address the issue inheriting the tcp limit, as we already |
| do for the wmem one. |
| |
| Fixes: 9c3f94e1681b ("mptcp: add missing memory scheduling in the rx path") |
| Signed-off-by: Paolo Abeni <pabeni@redhat.com> |
| Reviewed-by: Matthieu Baerts <matthieu.baerts@tessares.net> |
| Link: https://lore.kernel.org/r/37af798bd46f402fb7c79f57ebbdd00614f5d7fa.1604861097.git.pabeni@redhat.com |
| Signed-off-by: Jakub Kicinski <kuba@kernel.org> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| --- |
| net/mptcp/protocol.c | 1 + |
| 1 file changed, 1 insertion(+) |
| |
| --- a/net/mptcp/protocol.c |
| +++ b/net/mptcp/protocol.c |
| @@ -2122,6 +2122,7 @@ static struct proto mptcp_prot = { |
| .memory_pressure = &tcp_memory_pressure, |
| .stream_memory_free = mptcp_memory_free, |
| .sysctl_wmem_offset = offsetof(struct net, ipv4.sysctl_tcp_wmem), |
| + .sysctl_rmem_offset = offsetof(struct net, ipv4.sysctl_tcp_rmem), |
| .sysctl_mem = sysctl_tcp_mem, |
| .obj_size = sizeof(struct mptcp_sock), |
| .slab_flags = SLAB_TYPESAFE_BY_RCU, |