Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

selftests: skip tests not being supported by older kernels #368

Closed
matttbe opened this issue Mar 3, 2023 · 1 comment
Closed

selftests: skip tests not being supported by older kernels #368

matttbe opened this issue Mar 3, 2023 · 1 comment
Assignees

Comments

@matttbe
Copy link
Member

matttbe commented Mar 3, 2023

Linked to this discussion.

Selftests are supposed to run on any kernels, including the old ones not supporting MPTCP.

intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

A new shared file is added here to be able to re-used the same check in
the different selftests we have.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: df62f2e ("selftests/mptcp: add diag interface tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: 1a418cb ("mptcp: simult flow self-tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe8 ("selftests: mptcp: add packet mark test case")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: 259a834 ("selftests: mptcp: functional tests for the userspace PM type")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

New functions are now available to easily detect if a feature is
missing. It is going to be used in the following commits. In order to
ease the backport of such future patches, it would be good if this
present commit is backported up to the introduction of MPTCP selftests,
hence the Fixes tag below: this type of check was supposed to be done
from the beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is MPTCP FastOpen. We can skip these tests if the feature is
not supported.

Link: multipath-tcp/mptcp_net-next#368
Fixes: ca7ae89 ("selftests: mptcp: mptfo Initiator/Listener")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
In case of skip, the return code 4 (SKIP) should be returned, not 1
(FAIL).

Link: multipath-tcp/mptcp_net-next#368
Fixes: 259a834 ("selftests: mptcp: functional tests for the userspace PM type")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the new MPTCP Userspace PM. We can skip these tests if
the feature is not supported.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 259a834 ("selftests: mptcp: functional tests for the userspace PM type")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
…ailable

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the new listener events for the PM. We can skip these
tests if the feature is not supported.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 6c73008 ("selftests: mptcp: listener test for userspace PM")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue Apr 7, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the new listener events for the PM. We can skip these tests if the feature is not supported.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 178d023 ("selftests: mptcp: listener test for in-kernel PM")
Signed-off-by: Matthieu Baerts <[email protected]>
@matttbe
Copy link
Member Author

matttbe commented Apr 17, 2023

@AlejandraOliver please open a new ticket, your questions are unrelated with the issue here and it will create confusions if we reply to these questions here.

@matttbe matttbe self-assigned this Apr 25, 2023
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped". Note that this check can also
mark the test as failed if 'SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES' env
var is set to 1: by doing that, we can make sure a test is not being
skipped by mistake.

A new shared file is added here to be able to re-used the same check in
the different selftests we have.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: df62f2e ("selftests/mptcp: add diag interface tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: 1a418cb ("mptcp: simult flow self-tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe8 ("selftests: mptcp: add packet mark test case")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: 259a834 ("selftests: mptcp: functional tests for the userspace PM type")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

New functions are now available to easily detect if a certain feature is
missing by looking at kallsyms.

These new helpers are going to be used in the following commits. In
order to ease the backport of such future patches, it would be good if
this patch is backported up to the introduction of MPTCP selftests,
hence the Fixes tag below: this type of check was supposed to be done
from the beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

A new function is now available to easily detect if a feature is
missing by looking at the kernel version. That's clearly not ideal and
this kind of check should be avoided as soon as possible. But sometimes,
there are no external sign that a "feature" is available or not:
internal behaviours can change without modifying the uAPI and these
selftests are verifying the internal behaviours. Sometimes, the only
(easy) way to verify if the feature is present is to run the test but
then the validation cannot determine if there is a failure with the
feature or if the feature is missing. Then it looks better to check the
kernel version instead of having tests that can never fail.

This new helper is going to be used in the following commits. In order
to ease the backport of such future patches, it would be good if this
patch is backported up to the introduction of MPTCP selftests, hence the
Fixes tag below: this type of check was supposed to be done from the
beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the support of IP(V6)_TRANSPARENT socket option with
MPTCP connections introduced by commit c9406a2 ("mptcp: sockopt:
add SOL_IP freebind & transparent options").

It is possible to look for "__ip_sock_set_tos" in kallsyms because
IP(V6)_TRANSPARENT socket option support has been added after TOS
support which came with the required infrastructure in MPTCP sockopt
code. To support TOS, the following function has been exported (T). Not
great but better than checking for a specific kernel version.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 5fb62e9 ("selftests: mptcp: add tproxy test case")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the full support of disconnections from the userspace
introduced by commit b29fcfb ("mptcp: full disconnect
implementation").

It is possible to look for "mptcp_pm_data_reset" in kallsyms because a
preparation patch added it to ease the introduction of the mentioned
feature.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 05be5e2 ("selftests: mptcp: add disconnect tests")
Signed-off-by: Matthieu Baerts <[email protected]>
intel-lab-lkp pushed a commit to intel-lab-lkp/linux that referenced this issue May 22, 2023
Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the support of TCP_FASTOPEN socket option with MPTCP
connections introduced by commit 4ffb0a0 ("mptcp: add TCP_FASTOPEN
sock option").

It is possible to look for "mptcp_fastopen_" in kallsyms to know if the
feature is supported or not.

Link: multipath-tcp/mptcp_net-next#368
Fixes: ca7ae89 ("selftests: mptcp: mptfo Initiator/Listener")
Signed-off-by: Matthieu Baerts <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 10, 2024
stable inclusion
from stable-5.10.183
commit 54dea0aa6bef847de926db2e6a3b20c3361b2369
category: bugfix
issue: #I8Y5GC
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit d83013bdf90a7994a474b0e650a7fc94b0d4ded6 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped". Note that this check can also
mark the test as failed if 'SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES' env
var is set to 1: by doing that, we can make sure a test is not being
skipped by mistake.

A new shared file is added here to be able to re-used the same check in
the different selftests we have.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>

 create mode 100644 tools/testing/selftests/net/mptcp/mptcp_lib.sh

Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 10, 2024
stable inclusion
from stable-5.10.183
commit 6d0adaa90dbe53cc2a8ff26afdc9c8b2fa10bf55
category: bugfix
issue: #I8Y5GC
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 0f4955a40dafe18a1122e3714d8173e4b018e869 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 10, 2024
stable inclusion
from stable-5.10.183
commit 4f8356ab74dde51d17d75eb18abd75c95968d242
category: bugfix
issue: #I8Y5GC
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 46565acdd29facbf418a11e4a3791b3c8967308d upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: df62f2e ("selftests/mptcp: add diag interface tests")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 10, 2024
stable inclusion
from stable-5.10.183
commit 1a6db1f927244c7695d17c017940836637450eb9
category: bugfix
issue: #I8Y5GC
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 9161f21c74a1a0e7bb39eb84ea0c86b23c92fc87 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: 1a418cb ("mptcp: simult flow self-tests")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 10, 2024
stable inclusion
from stable-5.10.183
commit 92450a1eaa9e570d296bf86e9719a95ebe853f18
category: bugfix
issue: #I8Y5GC
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 715c78a82e00f848f99ef76e6f6b89216ccba268 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 18, 2024
stable inclusion
from stable-5.10.186
commit 6d20cfbc578d01d87cc1b1610d32ce1d1d0d8480
category: bugfix
issue: #I91QK2
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 673004821ab98c6645bd21af56a290854e88f533 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

New functions are now available to easily detect if a certain feature is
missing by looking at kallsyms.

These new helpers are going to be used in the following commits. In
order to ease the backport of such future patches, it would be good if
this patch is backported up to the introduction of MPTCP selftests,
hence the Fixes tag below: this type of check was supposed to be done
from the beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 18, 2024
stable inclusion
from stable-5.10.186
commit 4c4ca42418a5e2935dfeba99345adc7b23e64d47
category: bugfix
issue: #I91QK2
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit b1a6a38ab8a633546cefae890da842f19e006c74 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

A new function is now available to easily detect if a feature is
missing by looking at the kernel version. That's clearly not ideal and
this kind of check should be avoided as soon as possible. But sometimes,
there are no external sign that a "feature" is available or not:
internal behaviours can change without modifying the uAPI and these
selftests are verifying the internal behaviours. Sometimes, the only
(easy) way to verify if the feature is present is to run the test but
then the validation cannot determine if there is a failure with the
feature or if the feature is missing. Then it looks better to check the
kernel version instead of having tests that can never fail. In any case,
we need a solution not to have a whole selftest being marked as failed
just because one sub-test has failed.

Note that this env var car be set to 1 not to do such check and run the
linked sub-test: SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK.

This new helper is going to be used in the following commits. In order
to ease the backport of such future patches, it would be good if this
patch is backported up to the introduction of MPTCP selftests, hence the
Fixes tag below: this type of check was supposed to be done from the
beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 18, 2024
stable inclusion
from stable-5.10.186
commit e508d9cef887a96971c9481d829a6846b4e8aec3
category: bugfix
issue: #I91QK2
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 2177d0b08e421971e035672b70f3228d9485c650 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the checks of the default limits returned by the MPTCP
in-kernel path-manager. The default values have been modified by commit
72bcbc46a5c3 ("mptcp: increase default max additional subflows to 2").
Instead of comparing with hardcoded values, we can get the default one
and compare with them.

Note that if we expect to have the latest version, we continue to check
the hardcoded values to avoid unexpected behaviour changes.

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
eclipse-oniro-oh-bot pushed a commit to eclipse-oniro-mirrors/kernel_linux_5.10 that referenced this issue Feb 18, 2024
stable inclusion
from stable-5.10.186
commit 524a2c0bcf99e99cc3e071a45aeb1f927033d64f
category: bugfix
issue: #I91QK2
CVE: NA

Signed-off-by: wanxiaoqing <[email protected]>
---------------------------------------

commit 47867f0a7e831e24e5eab3330667ce9682d50fb1 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the MPTCP MIB counters introduced in commit fc51895
("mptcp: add and use MIB counter infrastructure") and more later. The
MPTCP Join selftest heavily relies on these counters.

If a counter is not supported by the kernel, it is not displayed when
using 'nstat -z'. We can then detect that and skip the verification. A
new helper (get_counter()) has been added to do the required checks and
return an error if the counter is not available.

Note that if we expect to have these features available and if
SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests
will be marked as failed instead of skipped.

This new helper also makes sure we get the exact counter we want to
avoid issues we had in the past, e.g. with MPTcpExtRmAddr and
MPTcpExtRmAddrDrop sharing the same prefix. While at it, we uniform the
way we fetch a MIB counter.

Note for the backports: we rarely change these modified blocks so if
there is are conflicts, it is very likely because a counter is not used
in the older kernels and we don't need that chunk.

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: wanxiaoqing <[email protected]>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Mar 10, 2024
[ Upstream commit 675d993 ]

The current selftests infrastructure formats the results in TAP 13. This
version doesn't support subtests and only the end result of each
selftest is taken into account. It means that a single issue in a
subtest of a selftest containing multiple subtests forces the whole
selftest to be marked as failed. It also means that subtests results are
not tracked by CIs executing selftests.

MPTCP selftests run hundreds of various subtests. It is then important
to track each of them and not one result per selftest.

It is particularly interesting to do that when validating stable kernels
with the last version of the test suite: tests might fail because a
feature is not supported but the test didn't skip that part. In this
case, if subtests are not tracked, the whole selftest will be marked as
failed making the other subtests useless because their results are
ignored.

This patch formats subtests results in TAP in simult_flows.sh selftest.

Link: multipath-tcp/mptcp_net-next#368
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Stable-dep-of: 5e2f3c6 ("selftests: mptcp: decrease BW in simult flows")
Signed-off-by: Sasha Levin <[email protected]>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Mar 10, 2024
[ Upstream commit 675d993 ]

The current selftests infrastructure formats the results in TAP 13. This
version doesn't support subtests and only the end result of each
selftest is taken into account. It means that a single issue in a
subtest of a selftest containing multiple subtests forces the whole
selftest to be marked as failed. It also means that subtests results are
not tracked by CIs executing selftests.

MPTCP selftests run hundreds of various subtests. It is then important
to track each of them and not one result per selftest.

It is particularly interesting to do that when validating stable kernels
with the last version of the test suite: tests might fail because a
feature is not supported but the test didn't skip that part. In this
case, if subtests are not tracked, the whole selftest will be marked as
failed making the other subtests useless because their results are
ignored.

This patch formats subtests results in TAP in simult_flows.sh selftest.

Link: multipath-tcp/mptcp_net-next#368
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Stable-dep-of: 5e2f3c6 ("selftests: mptcp: decrease BW in simult flows")
Signed-off-by: Sasha Levin <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit d83013b upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped". Note that this check can also
mark the test as failed if 'SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES' env
var is set to 1: by doing that, we can make sure a test is not being
skipped by mistake.

A new shared file is added here to be able to re-used the same check in
the different selftests we have.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 0f4955a upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit cf6f0fd upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe8 ("selftests: mptcp: add packet mark test case")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 46565ac upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: df62f2e ("selftests/mptcp: add diag interface tests")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 9161f21 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: 1a418cb ("mptcp: simult flow self-tests")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 715c78a upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting MPTCP.

A new check is then added to make sure MPTCP is supported. If not, the
test stops and is marked as "skipped".

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Paolo Abeni <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 6730048 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

New functions are now available to easily detect if a certain feature is
missing by looking at kallsyms.

These new helpers are going to be used in the following commits. In
order to ease the backport of such future patches, it would be good if
this patch is backported up to the introduction of MPTCP selftests,
hence the Fixes tag below: this type of check was supposed to be done
from the beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit b1a6a38 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

A new function is now available to easily detect if a feature is
missing by looking at the kernel version. That's clearly not ideal and
this kind of check should be avoided as soon as possible. But sometimes,
there are no external sign that a "feature" is available or not:
internal behaviours can change without modifying the uAPI and these
selftests are verifying the internal behaviours. Sometimes, the only
(easy) way to verify if the feature is present is to run the test but
then the validation cannot determine if there is a failure with the
feature or if the feature is missing. Then it looks better to check the
kernel version instead of having tests that can never fail. In any case,
we need a solution not to have a whole selftest being marked as failed
just because one sub-test has failed.

Note that this env var car be set to 1 not to do such check and run the
linked sub-test: SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK.

This new helper is going to be used in the following commits. In order
to ease the backport of such future patches, it would be good if this
patch is backported up to the introduction of MPTCP selftests, hence the
Fixes tag below: this type of check was supposed to be done from the
beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 2177d0b upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the checks of the default limits returned by the MPTCP
in-kernel path-manager. The default values have been modified by commit
72bcbc4 ("mptcp: increase default max additional subflows to 2").
Instead of comparing with hardcoded values, we can get the default one
and compare with them.

Note that if we expect to have the latest version, we continue to check
the hardcoded values to avoid unexpected behaviour changes.

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 0c4cd3f upstream.

IPTables commands using 'iptables-nft' fail on old kernels, at least
5.15 because it doesn't see the default IPTables chains:

  $ iptables -L
  iptables/1.8.2 Failed to initialize nft: Protocol not supported

As a first step before switching to NFTables, we can use iptables-legacy
if available.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 8d014ea ("selftests: mptcp: add ADD_ADDR timeout test case")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
SIGSEGV111 pushed a commit to SIGSEGV111/Star64_linux that referenced this issue Mar 28, 2024
commit 47867f0 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the MPTCP MIB counters introduced in commit fc51895
("mptcp: add and use MIB counter infrastructure") and more later. The
MPTCP Join selftest heavily relies on these counters.

If a counter is not supported by the kernel, it is not displayed when
using 'nstat -z'. We can then detect that and skip the verification. A
new helper (get_counter()) has been added to do the required checks and
return an error if the counter is not available.

Note that if we expect to have these features available and if
SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests
will be marked as failed instead of skipped.

This new helper also makes sure we get the exact counter we want to
avoid issues we had in the past, e.g. with MPTcpExtRmAddr and
MPTcpExtRmAddrDrop sharing the same prefix. While at it, we uniform the
way we fetch a MIB counter.

Note for the backports: we rarely change these modified blocks so if
there is are conflicts, it is very likely because a counter is not used
in the older kernels and we don't need that chunk.

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
mbissaromoto pushed a commit to MotorolaMobilityLLC/kernel-msm that referenced this issue Jul 6, 2024
commit 673004821ab98c6645bd21af56a290854e88f533 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

New functions are now available to easily detect if a certain feature is
missing by looking at kallsyms.

These new helpers are going to be used in the following commits. In
order to ease the backport of such future patches, it would be good if
this patch is backported up to the introduction of MPTCP selftests,
hence the Fixes tag below: this type of check was supposed to be done
from the beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
mbissaromoto pushed a commit to MotorolaMobilityLLC/kernel-msm that referenced this issue Jul 6, 2024
commit b1a6a38ab8a633546cefae890da842f19e006c74 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

A new function is now available to easily detect if a feature is
missing by looking at the kernel version. That's clearly not ideal and
this kind of check should be avoided as soon as possible. But sometimes,
there are no external sign that a "feature" is available or not:
internal behaviours can change without modifying the uAPI and these
selftests are verifying the internal behaviours. Sometimes, the only
(easy) way to verify if the feature is present is to run the test but
then the validation cannot determine if there is a failure with the
feature or if the feature is missing. Then it looks better to check the
kernel version instead of having tests that can never fail. In any case,
we need a solution not to have a whole selftest being marked as failed
just because one sub-test has failed.

Note that this env var car be set to 1 not to do such check and run the
linked sub-test: SELFTESTS_MPTCP_LIB_NO_KVERSION_CHECK.

This new helper is going to be used in the following commits. In order
to ease the backport of such future patches, it would be good if this
patch is backported up to the introduction of MPTCP selftests, hence the
Fixes tag below: this type of check was supposed to be done from the
beginning.

Link: multipath-tcp/mptcp_net-next#368
Fixes: 048d19d ("mptcp: add basic kselftest for mptcp")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
mbissaromoto pushed a commit to MotorolaMobilityLLC/kernel-msm that referenced this issue Jul 6, 2024
commit 2177d0b08e421971e035672b70f3228d9485c650 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the checks of the default limits returned by the MPTCP
in-kernel path-manager. The default values have been modified by commit
72bcbc4 ("mptcp: increase default max additional subflows to 2").
Instead of comparing with hardcoded values, we can get the default one
and compare with them.

Note that if we expect to have the latest version, we continue to check
the hardcoded values to avoid unexpected behaviour changes.

Link: multipath-tcp/mptcp_net-next#368
Fixes: eedbc68 ("selftests: add PM netlink functional tests")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
mbissaromoto pushed a commit to MotorolaMobilityLLC/kernel-msm that referenced this issue Jul 6, 2024
commit 47867f0a7e831e24e5eab3330667ce9682d50fb1 upstream.

Selftests are supposed to run on any kernels, including the old ones not
supporting all MPTCP features.

One of them is the MPTCP MIB counters introduced in commit fc51895
("mptcp: add and use MIB counter infrastructure") and more later. The
MPTCP Join selftest heavily relies on these counters.

If a counter is not supported by the kernel, it is not displayed when
using 'nstat -z'. We can then detect that and skip the verification. A
new helper (get_counter()) has been added to do the required checks and
return an error if the counter is not available.

Note that if we expect to have these features available and if
SELFTESTS_MPTCP_LIB_EXPECT_ALL_FEATURES env var is set to 1, the tests
will be marked as failed instead of skipped.

This new helper also makes sure we get the exact counter we want to
avoid issues we had in the past, e.g. with MPTcpExtRmAddr and
MPTcpExtRmAddrDrop sharing the same prefix. While at it, we uniform the
way we fetch a MIB counter.

Note for the backports: we rarely change these modified blocks so if
there is are conflicts, it is very l(CR) because a counter is not used
in the older kernels and we don't need that chunk.

Link: multipath-tcp/mptcp_net-next#368
Fixes: b08fbf2 ("selftests: add test-cases for MPTCP MP_JOIN")
Cc: [email protected]
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Jakub Kicinski <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
devhunter1 pushed a commit to devhunter1/android_kernel_samsung_s5e8535 that referenced this issue Sep 28, 2024
commit a5a5990c099dd354e05e89ee77cd2dbf6655d4a1 upstream.

IPTables commands using 'iptables-nft' fail on old kernels, at least
on v5.15 because it doesn't see the default IPTables chains:

  $ iptables -L
  iptables/1.8.2 Failed to initialize nft: Protocol not supported

As a first step before switching to NFTables, we can use iptables-legacy
if available.

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe8 ("selftests: mptcp: add packet mark test case")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
AlanMacMasters pushed a commit to ravindu644/a05s_stock that referenced this issue Sep 30, 2024
commit a5a5990c099dd354e05e89ee77cd2dbf6655d4a1 upstream.

IPTables commands using 'iptables-nft' fail on old kernels, at least
on v5.15 because it doesn't see the default IPTables chains:

  $ iptables -L
  iptables/1.8.2 Failed to initialize nft: Protocol not supported

As a first step before switching to NFTables, we can use iptables-legacy
if available.

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe82fb07 ("selftests: mptcp: add packet mark test case")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
devhunter1 pushed a commit to devhunter1/android_kernel_samsung_s5e8535 that referenced this issue Oct 4, 2024
commit a5a5990c099dd354e05e89ee77cd2dbf6655d4a1 upstream.

IPTables commands using 'iptables-nft' fail on old kernels, at least
on v5.15 because it doesn't see the default IPTables chains:

  $ iptables -L
  iptables/1.8.2 Failed to initialize nft: Protocol not supported

As a first step before switching to NFTables, we can use iptables-legacy
if available.

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe8 ("selftests: mptcp: add packet mark test case")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
devhunter1 pushed a commit to devhunter1/android_kernel_samsung_s5e8535 that referenced this issue Oct 11, 2024
commit a5a5990c099dd354e05e89ee77cd2dbf6655d4a1 upstream.

IPTables commands using 'iptables-nft' fail on old kernels, at least
on v5.15 because it doesn't see the default IPTables chains:

  $ iptables -L
  iptables/1.8.2 Failed to initialize nft: Protocol not supported

As a first step before switching to NFTables, we can use iptables-legacy
if available.

Link: multipath-tcp/mptcp_net-next#368
Fixes: dc65fe8 ("selftests: mptcp: add packet mark test case")
Cc: [email protected]
Acked-by: Paolo Abeni <[email protected]>
Signed-off-by: Matthieu Baerts <[email protected]>
Signed-off-by: David S. Miller <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant