kernel_samsung_a53x/net/mptcp
YonglongLi ea5434c45b mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID
commit 6a09788c1a66e3d8b04b3b3e7618cc817bb60ae9 upstream.

The RmAddr MIB counter is supposed to be incremented once when a valid
RM_ADDR has been received. Before this patch, it could have been
incremented as many times as the number of subflows connected to the
linked address ID, so it could have been 0, 1 or more than 1.

The "RmSubflow" is incremented after a local operation. In this case,
it is normal to tied it with the number of subflows that have been
actually removed.

The "remove invalid addresses" MP Join subtest has been modified to
validate this case. A broadcast IP address is now used instead: the
client will not be able to create a subflow to this address. The
consequence is that when receiving the RM_ADDR with the ID attached to
this broadcast IP address, no subflow linked to this ID will be found.

Fixes: 7a7e52e38a40 ("mptcp: add RM_ADDR related mibs")
Cc: stable@vger.kernel.org
Co-developed-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: YonglongLi <liyonglong@chinatelecom.cn>
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Link: https://lore.kernel.org/r/20240607-upstream-net-20240607-misc-fixes-v1-2-1ab9ddfa3d00@kernel.org
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
[ Conflicts in pm_netlink.c because the commit 9f12e97bf16c ("mptcp:
  unify RM_ADDR and RM_SUBFLOW receiving"), and commit d0b698ca9a27
  ("mptcp: remove multi addresses in PM") are not in this version. To
  fix the issue, the incrementation should be done outside the loop: the
  same resolution has been applied here.
  The selftest modification has been dropped, because the modified test
  is not in this version. That's fine, we can test with selftests from a
  newer version. ]
Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2024-11-19 14:19:05 +01:00
..
crypto.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
crypto_test.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
ctrl.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
diag.c mptcp: fix possible deadlock in subflow diag 2024-11-18 23:18:30 +01:00
Kconfig Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
Makefile Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mib.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mib.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
mptcp_diag.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
options.c mptcp: fix uninit-value in mptcp_incoming_options 2024-11-18 12:12:12 +01:00
pm.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
pm_netlink.c mptcp: pm: inc RmAddr MIB counter once per RM_ADDR ID 2024-11-19 14:19:05 +01:00
protocol.c mptcp: ensure snd_una is properly initialized on connect 2024-11-19 14:19:05 +01:00
protocol.h Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
subflow.c mptcp: don't account accept() of non-MPC client as fallback to TCP 2024-11-19 09:23:11 +01:00
syncookies.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
token.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00
token_test.c Import A536BXXU9EXDC 2024-06-15 16:02:09 -03:00