All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jiri Pirko <jiri@resnulli.us>
To: Leon Romanovsky <leon@kernel.org>
Cc: "David S. Miller" <davem@davemloft.net>,
	Jakub Kicinski <kuba@kernel.org>, Jiri Pirko <jiri@nvidia.com>,
	Leon Romanovsky <leonro@nvidia.com>,
	linux-kernel@vger.kernel.org, netdev@vger.kernel.org,
	Parav Pandit <parav@nvidia.com>
Subject: Re: [PATCH net-next 2/2] devlink: Allocate devlink directly in requested net namespace
Date: Thu, 29 Jul 2021 13:55:29 +0200	[thread overview]
Message-ID: <YQKXMT4tbzCnkYlA@nanopsycho> (raw)
In-Reply-To: <ca29973a59c9c128ab960e3cbff8dfa95280b6b0.1627545799.git.leonro@nvidia.com>

Thu, Jul 29, 2021 at 10:15:26AM CEST, leon@kernel.org wrote:
>From: Leon Romanovsky <leonro@nvidia.com>
>
>There is no need in extra call indirection and check from impossible
>flow where someone tries to set namespace without prior call
>to devlink_alloc().
>
>Instead of this extra logic and additional EXPORT_SYMBOL, use specialized
>devlink allocation function that receives net namespace as an argument.
>
>Such specialized API allows clear view when devlink initialized in wrong
>net namespace and/or kernel users don't try to change devlink namespace
>under the hood.
>
>Signed-off-by: Leon Romanovsky <leonro@nvidia.com>
>---
> drivers/net/netdevsim/dev.c |  4 ++--
> include/net/devlink.h       | 14 ++++++++++++--
> net/core/devlink.c          | 26 ++++++++------------------
> 3 files changed, 22 insertions(+), 22 deletions(-)
>
>diff --git a/drivers/net/netdevsim/dev.c b/drivers/net/netdevsim/dev.c
>index 6348307bfa84..d538a39d4225 100644
>--- a/drivers/net/netdevsim/dev.c
>+++ b/drivers/net/netdevsim/dev.c
>@@ -1431,10 +1431,10 @@ int nsim_dev_probe(struct nsim_bus_dev *nsim_bus_dev)
> 	struct devlink *devlink;
> 	int err;
> 
>-	devlink = devlink_alloc(&nsim_dev_devlink_ops, sizeof(*nsim_dev));
>+	devlink = devlink_alloc_ns(&nsim_dev_devlink_ops, sizeof(*nsim_dev),
>+				   nsim_bus_dev->initial_net);
> 	if (!devlink)
> 		return -ENOMEM;
>-	devlink_net_set(devlink, nsim_bus_dev->initial_net);
> 	nsim_dev = devlink_priv(devlink);
> 	nsim_dev->nsim_bus_dev = nsim_bus_dev;
> 	nsim_dev->switch_id.id_len = sizeof(nsim_dev->switch_id.id);
>diff --git a/include/net/devlink.h b/include/net/devlink.h
>index e48a62320407..b4691c40320f 100644
>--- a/include/net/devlink.h
>+++ b/include/net/devlink.h
>@@ -1540,8 +1540,18 @@ static inline struct devlink *netdev_to_devlink(struct net_device *dev)
> struct ib_device;
> 
> struct net *devlink_net(const struct devlink *devlink);
>-void devlink_net_set(struct devlink *devlink, struct net *net);
>-struct devlink *devlink_alloc(const struct devlink_ops *ops, size_t priv_size);
>+/* This RAW call is intended for software devices that can

Not sure what "RAW call" is, perhaps you can just avoid this here.

Otherwise, this patch looks fine to me:
Reviewed-by: Jiri Pirko <jiri@nvidia.com>

[...]

  reply	other threads:[~2021-07-29 11:55 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-29  8:15 [PATCH net-next 0/2] Clean devlink net namespace operations Leon Romanovsky
2021-07-29  8:15 ` [PATCH net-next 1/2] devlink: Break parameter notification sequence to be before/after unload/load driver Leon Romanovsky
2021-07-29 11:22   ` Jiri Pirko
2021-07-29 11:35     ` Leon Romanovsky
2021-07-29 11:57       ` Jiri Pirko
2021-07-29 12:11         ` Leon Romanovsky
2021-07-29  8:15 ` [PATCH net-next 2/2] devlink: Allocate devlink directly in requested net namespace Leon Romanovsky
2021-07-29 11:55   ` Jiri Pirko [this message]
2021-07-29 12:06     ` Leon Romanovsky

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=YQKXMT4tbzCnkYlA@nanopsycho \
    --to=jiri@resnulli.us \
    --cc=davem@davemloft.net \
    --cc=jiri@nvidia.com \
    --cc=kuba@kernel.org \
    --cc=leon@kernel.org \
    --cc=leonro@nvidia.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=parav@nvidia.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.