mbox series

[mptcp-next,v2,0/2] tcp: ulp: diag: remove net admin restriction

Message ID 20250305-mptcp-tcp-ulp-diag-cap-v2-0-d53fd80748eb@kernel.org (mailing list archive)
Headers show
Series tcp: ulp: diag: remove net admin restriction | expand

Message

Matthieu Baerts (NGI0) March 5, 2025, 6:34 p.m. UTC
Since its introduction in commit 61723b393292 ("tcp: ulp: add functions
to dump ulp-specific information"), the ULP diag info have been exported
only if the requester had CAP_NET_ADMIN.

Not everything is sensitive, and some info can be exported to all users
in order to ease the debugging from the userspace side without requiring
additional capabilities.

First, the ULP name can be easily exported. Then more depending on each
layer.

Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
---
Changes in v2:
- Do not export MPTCP-related sequence numbers per subflow (Mat).
- The single patch has then been split in two to ease the reviews.
- Link to v1: https://lore.kernel.org/r/20250226-mptcp-tcp-ulp-diag-cap-v1-1-e1a003ad0606@kernel.org

---
Matthieu Baerts (NGI0) (2):
      tcp: ulp: diag: always print the name if any
      tcp: ulp: diag: more info without CAP_NET_ADMIN

 include/net/tcp.h   |  4 ++--
 net/ipv4/tcp_diag.c | 21 ++++++++++-----------
 net/mptcp/diag.c    | 42 ++++++++++++++++++++++++++----------------
 net/tls/tls_main.c  |  4 ++--
 4 files changed, 40 insertions(+), 31 deletions(-)
---
base-commit: 62dab9e8d979a45d72cebb74030b937dc5ba9452
change-id: 20250226-mptcp-tcp-ulp-diag-cap-a4d9b7cd91ec

Best regards,

Comments

MPTCP CI March 5, 2025, 7:45 p.m. UTC | #1
Hi Matthieu,

Thank you for your modifications, that's great!

Our CI did some validations and here is its report:

- KVM Validation: normal: Success! ✅
- KVM Validation: debug: Success! ✅
- KVM Validation: btf-normal (only bpftest_all): Success! ✅
- KVM Validation: btf-debug (only bpftest_all): Success! ✅
- Task: https://github.com/multipath-tcp/mptcp_net-next/actions/runs/13683325743

Initiator: Patchew Applier
Commits: https://github.com/multipath-tcp/mptcp_net-next/commits/1ef9eed1fd7c
Patchwork: https://patchwork.kernel.org/project/mptcp/list/?series=940679


If there are some issues, you can reproduce them using the same environment as
the one used by the CI thanks to a docker image, e.g.:

    $ cd [kernel source code]
    $ docker run -v "${PWD}:${PWD}:rw" -w "${PWD}" --privileged --rm -it \
        --pull always mptcp/mptcp-upstream-virtme-docker:latest \
        auto-normal

For more details:

    https://github.com/multipath-tcp/mptcp-upstream-virtme-docker


Please note that despite all the efforts that have been already done to have a
stable tests suite when executed on a public CI like here, it is possible some
reported issues are not due to your modifications. Still, do not hesitate to
help us improve that ;-)

Cheers,
MPTCP GH Action bot
Bot operated by Matthieu Baerts (NGI0 Core)
Matthieu Baerts (NGI0) March 6, 2025, 8:41 a.m. UTC | #2
Hi Mat,

On 05/03/2025 19:34, Matthieu Baerts (NGI0) wrote:
> Since its introduction in commit 61723b393292 ("tcp: ulp: add functions
> to dump ulp-specific information"), the ULP diag info have been exported
> only if the requester had CAP_NET_ADMIN.
> 
> Not everything is sensitive, and some info can be exported to all users
> in order to ease the debugging from the userspace side without requiring
> additional capabilities.
> 
> First, the ULP name can be easily exported. Then more depending on each
> layer.

Thank you for the review!

Now in our tree (feat. for net-next):

New patches for t/upstream:
- 6040da37f014: tcp: ulp: diag: always print the name if any
- 61da849b8936: tcp: ulp: diag: more info without CAP_NET_ADMIN
- Results: ccf37aa90567..8d69c228371f (export)

Tests are now in progress:

- export:
https://github.com/multipath-tcp/mptcp_net-next/commit/c396630c43dca77f3d618bf9a46ac4040901c4aa/checks

Cheers,
Matt