From: Mat Martineau <mathew.j.martineau@linux.intel.com>
To: Thomas Haller <thaller@redhat.com>
Cc: mptcp@lists.linux.dev, Paolo Abeni <pabeni@redhat.com>,
Florian Westphal <fw@strlen.de>,
Matthieu Baerts <matthieu.baerts@tessares.net>
Subject: Re: [PATCH] mptcp: allow priviledged operations from user namespaces
Date: Mon, 8 Aug 2022 17:04:03 -0700 (PDT) [thread overview]
Message-ID: <e95949bf-53cf-bdf-27c8-8cbc3eeda450@linux.intel.com> (raw)
In-Reply-To: <20220805115020.525181-1-thaller@redhat.com>
On Fri, 5 Aug 2022, Thomas Haller wrote:
> GENL_ADMIN_PERM checks that the user has CAP_NET_ADMIN in the initial
> namespace by calling netlink_capable(). Instead, use GENL_UNS_ADMIN_PERM
> which uses netlink_ns_capable(). This checks that the caller has
> CAP_NET_ADMIN in the current user namespace.
>
> See also commit 4a92602aa1cd ('openvswitch: allow management from inside
> user namespaces') which introduced this mechanism. See also commit
> 5617c6cd6f84 ('nl80211: Allow privileged operations from user
> namespaces'), which introduced this for nl80211.
>
> Signed-off-by: Thomas Haller <thaller@redhat.com>
Hi Thomas -
Thanks for the patch! This does seem like a good idea to me (and it seems
to work ok with our MPTCP tests), but I'd like to get some more community
input before merging (Paolo/Florian?).
We also need to figure out which branch this belongs in (we usually tag
the patch subject with [PATCH mptcp-net] or [PATCH mptcp-next] to indicate
this). If we upstream it to the net branch it will get in to 6.0-rcX and
be eligible for backporting to the stable branches. Looks like it would
need manual backporting to pre-5.19 kernels due to the incremental changes
to mptcp_pm_ops over time.
To upstream this to net it also needs a Fixes tag:
Fixes: 702c2f646d42 ("mptcp: netlink: allow userspace-driven subflow establishment")
Thomas, do you have any thoughts/preferences on upstreaming to net or
net-next?
Thanks,
Mat
> ---
> net/mptcp/pm_netlink.c | 18 +++++++++---------
> 1 file changed, 9 insertions(+), 9 deletions(-)
>
> diff --git a/net/mptcp/pm_netlink.c b/net/mptcp/pm_netlink.c
> index 291b5da42fdb..2c145cdc7bdc 100644
> --- a/net/mptcp/pm_netlink.c
> +++ b/net/mptcp/pm_netlink.c
> @@ -2218,17 +2218,17 @@ static const struct genl_small_ops mptcp_pm_ops[] = {
> {
> .cmd = MPTCP_PM_CMD_ADD_ADDR,
> .doit = mptcp_nl_cmd_add_addr,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_DEL_ADDR,
> .doit = mptcp_nl_cmd_del_addr,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_FLUSH_ADDRS,
> .doit = mptcp_nl_cmd_flush_addrs,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_GET_ADDR,
> @@ -2238,7 +2238,7 @@ static const struct genl_small_ops mptcp_pm_ops[] = {
> {
> .cmd = MPTCP_PM_CMD_SET_LIMITS,
> .doit = mptcp_nl_cmd_set_limits,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_GET_LIMITS,
> @@ -2247,27 +2247,27 @@ static const struct genl_small_ops mptcp_pm_ops[] = {
> {
> .cmd = MPTCP_PM_CMD_SET_FLAGS,
> .doit = mptcp_nl_cmd_set_flags,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_ANNOUNCE,
> .doit = mptcp_nl_cmd_announce,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_REMOVE,
> .doit = mptcp_nl_cmd_remove,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_SUBFLOW_CREATE,
> .doit = mptcp_nl_cmd_sf_create,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> {
> .cmd = MPTCP_PM_CMD_SUBFLOW_DESTROY,
> .doit = mptcp_nl_cmd_sf_destroy,
> - .flags = GENL_ADMIN_PERM,
> + .flags = GENL_UNS_ADMIN_PERM,
> },
> };
>
> --
> 2.37.1
>
>
>
--
Mat Martineau
Intel
next prev parent reply other threads:[~2022-08-09 0:04 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-08-05 11:50 [PATCH] mptcp: allow priviledged operations from user namespaces Thomas Haller
2022-08-05 13:37 ` mptcp: allow priviledged operations from user namespaces: Tests Results MPTCP CI
2022-08-09 0:04 ` Mat Martineau [this message]
2022-08-09 10:23 ` [PATCH] mptcp: allow priviledged operations from user namespaces Thomas Haller
2022-08-09 10:25 ` Florian Westphal
2022-08-09 11:16 ` Florian Westphal
2022-08-10 7:42 ` [PATCH mptcp-next v2 1/2] " Thomas Haller
2022-08-10 7:42 ` [PATCH mptcp-next v2 2/2] mptcp: account memory allocation in mptcp_nl_cmd_add_addr() to user Thomas Haller
2022-08-10 23:14 ` Mat Martineau
2022-08-10 23:08 ` [PATCH mptcp-next v2 1/2] mptcp: allow priviledged operations from user namespaces Mat Martineau
2022-08-11 10:34 ` Matthieu Baerts
2022-08-24 20:37 ` Thomas Haller
2022-08-29 15:13 ` 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=e95949bf-53cf-bdf-27c8-8cbc3eeda450@linux.intel.com \
--to=mathew.j.martineau@linux.intel.com \
--cc=fw@strlen.de \
--cc=matthieu.baerts@tessares.net \
--cc=mptcp@lists.linux.dev \
--cc=pabeni@redhat.com \
--cc=thaller@redhat.com \
/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.