From: Mat Martineau <martineau@kernel.org>
To: "Matthieu Baerts (NGI0)" <matttbe@kernel.org>
Cc: mptcp@lists.linux.dev, Davide Caratti <dcaratti@redhat.com>
Subject: Re: [PATCH mptcp-next] tcp: ulp: diag: remove net admin restriction
Date: Fri, 28 Feb 2025 13:39:20 -0800 (PST) [thread overview]
Message-ID: <42c413ff-744d-8b1f-e1ee-31edf0263646@kernel.org> (raw)
In-Reply-To: <20250226-mptcp-tcp-ulp-diag-cap-v1-1-e1a003ad0606@kernel.org>
On Wed, 26 Feb 2025, 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.
>
> It looks like there is nothing sensitive being exported here by the
> MPTCP and KTLS layers. So it seems safe to remove this restriction in
> order to ease the debugging from the userspace side without requiring
> additional capabilities.
>
Hi Matthieu -
I agree the token values aren't sensitive (we definitely wouldn't want to
expose the keys exchanged with MP_CAPABLE, for example). Token values are
like port numbers in terms of what's exposed.
The DSS mapping and ssn_offset do give all users on the system access to
narrow ranges of values for the subflow TCP sequence numbers and
MPTCP-level DSNs. The diag interface doesn't expose TCP sequence numbers
for TCP sockets, it doesn't seem like a good idea to leak those through
the mapping values either. WDYT?
- Mat
> Signed-off-by: Matthieu Baerts (NGI0) <matttbe@kernel.org>
> ---
> net/ipv4/tcp_diag.c | 15 +++++++--------
> 1 file changed, 7 insertions(+), 8 deletions(-)
>
> diff --git a/net/ipv4/tcp_diag.c b/net/ipv4/tcp_diag.c
> index f428ecf9120f2f596e1d67db2b2a0d0d0e211905..8257bd85e067ee862034c95745216c443113bdb0 100644
> --- a/net/ipv4/tcp_diag.c
> +++ b/net/ipv4/tcp_diag.c
> @@ -113,6 +113,7 @@ static int tcp_diag_get_aux(struct sock *sk, bool net_admin,
> struct sk_buff *skb)
> {
> struct inet_connection_sock *icsk = inet_csk(sk);
> + const struct tcp_ulp_ops *ulp_ops;
> int err = 0;
>
> #ifdef CONFIG_TCP_MD5SIG
> @@ -129,15 +130,13 @@ static int tcp_diag_get_aux(struct sock *sk, bool net_admin,
> }
> #endif
>
> - if (net_admin) {
> - const struct tcp_ulp_ops *ulp_ops;
> -
> - ulp_ops = icsk->icsk_ulp_ops;
> - if (ulp_ops)
> - err = tcp_diag_put_ulp(skb, sk, ulp_ops);
> - if (err)
> + ulp_ops = icsk->icsk_ulp_ops;
> + if (ulp_ops) {
> + err = tcp_diag_put_ulp(skb, sk, ulp_ops);
> + if (err < 0)
> return err;
> }
> +
> return 0;
> }
>
> @@ -164,7 +163,7 @@ static size_t tcp_diag_get_aux_size(struct sock *sk, bool net_admin)
> }
> #endif
>
> - if (net_admin && sk_fullsock(sk)) {
> + if (sk_fullsock(sk)) {
> const struct tcp_ulp_ops *ulp_ops;
>
> ulp_ops = icsk->icsk_ulp_ops;
>
> ---
> base-commit: 1238896935ea03f333a183a32fab666cc0c20e3b
> change-id: 20250226-mptcp-tcp-ulp-diag-cap-a4d9b7cd91ec
>
> Best regards,
> --
> Matthieu Baerts (NGI0) <matttbe@kernel.org>
>
>
>
next prev parent reply other threads:[~2025-02-28 21:39 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-26 11:26 [PATCH mptcp-next] tcp: ulp: diag: remove net admin restriction Matthieu Baerts (NGI0)
2025-02-26 11:39 ` Davide Caratti
2025-02-26 12:35 ` MPTCP CI
2025-02-28 21:39 ` Mat Martineau [this message]
2025-03-01 10:26 ` Matthieu Baerts
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=42c413ff-744d-8b1f-e1ee-31edf0263646@kernel.org \
--to=martineau@kernel.org \
--cc=dcaratti@redhat.com \
--cc=matttbe@kernel.org \
--cc=mptcp@lists.linux.dev \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.