From: Simon Horman <horms@kernel.org>
To: edward.cree@amd.com
Cc: linux-net-drivers@amd.com, davem@davemloft.net, kuba@kernel.org,
edumazet@google.com, pabeni@redhat.com,
Edward Cree <ecree.xilinx@gmail.com>,
netdev@vger.kernel.org, habetsm.xilinx@gmail.com,
sudheer.mogilappagari@intel.com, jdamato@fastly.com,
mw@semihalf.com, linux@armlinux.org.uk, sgoutham@marvell.com,
gakula@marvell.com, sbhatta@marvell.com, hkelam@marvell.com,
saeedm@nvidia.com, leon@kernel.org, jacob.e.keller@intel.com,
andrew@lunn.ch, ahmed.zaki@intel.com
Subject: Re: [PATCH v6 net-next 8/9] net: ethtool: use the tracking array for get_rxfh on custom RSS contexts
Date: Thu, 20 Jun 2024 20:42:14 +0100 [thread overview]
Message-ID: <20240620194214.GT959333@kernel.org> (raw)
In-Reply-To: <2f024e0b6d32880ff443c4e880af16ec2b5e456a.1718862050.git.ecree.xilinx@gmail.com>
On Thu, Jun 20, 2024 at 06:47:11AM +0100, edward.cree@amd.com wrote:
> From: Edward Cree <ecree.xilinx@gmail.com>
>
> On 'ethtool -x' with rss_context != 0, instead of calling the driver to
> read the RSS settings for the context, just get the settings from the
> rss_ctx xarray, and return them to the user with no driver involvement.
>
> Signed-off-by: Edward Cree <ecree.xilinx@gmail.com>
> ---
> net/ethtool/ioctl.c | 25 ++++++++++++++++++++-----
> 1 file changed, 20 insertions(+), 5 deletions(-)
>
> diff --git a/net/ethtool/ioctl.c b/net/ethtool/ioctl.c
> index 9d2d677770db..ac562ee3662e 100644
> --- a/net/ethtool/ioctl.c
> +++ b/net/ethtool/ioctl.c
> @@ -1199,6 +1199,7 @@ static noinline_for_stack int ethtool_get_rxfh(struct net_device *dev,
> const struct ethtool_ops *ops = dev->ethtool_ops;
> struct ethtool_rxfh_param rxfh_dev = {};
> u32 user_indir_size, user_key_size;
> + struct ethtool_rxfh_context *ctx;
> struct ethtool_rxfh rxfh;
> u32 indir_bytes;
> u8 *rss_config;
> @@ -1246,11 +1247,25 @@ static noinline_for_stack int ethtool_get_rxfh(struct net_device *dev,
> if (user_key_size)
> rxfh_dev.key = rss_config + indir_bytes;
>
> - rxfh_dev.rss_context = rxfh.rss_context;
> -
> - ret = dev->ethtool_ops->get_rxfh(dev, &rxfh_dev);
> - if (ret)
> - goto out;
> + if (rxfh.rss_context) {
> + ctx = xa_load(&dev->ethtool->rss_ctx, rxfh.rss_context);
> + if (!ctx) {
> + ret = -ENOENT;
> + goto out;
> + }
> + if (rxfh_dev.indir)
> + memcpy(rxfh_dev.indir, ethtool_rxfh_context_indir(ctx),
> + indir_bytes);
> + if (rxfh_dev.key)
> + memcpy(rxfh_dev.key, ethtool_rxfh_context_key(ctx),
> + user_key_size);
> + rxfh_dev.hfunc = ctx->hfunc;
> + rxfh_dev.input_xfrm = ctx->input_xfrm;
Hi Edward,
The last line of this function is:
return ret;
With this patch applied, Smatch complains that ret may be used there
when unintialised.
I think that occurs when the code reaches the line where this
commentary has been placed in this email.
> + } else {
> + ret = dev->ethtool_ops->get_rxfh(dev, &rxfh_dev);
> + if (ret)
> + goto out;
> + }
>
> if (copy_to_user(useraddr + offsetof(struct ethtool_rxfh, hfunc),
> &rxfh_dev.hfunc, sizeof(rxfh.hfunc))) {
>
next prev parent reply other threads:[~2024-06-20 19:42 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-06-20 5:47 [PATCH v6 net-next 0/9] ethtool: track custom RSS contexts in the core edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 1/9] net: move ethtool-related netdev state into its own struct edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 2/9] net: ethtool: attach an XArray of custom RSS contexts to a netdevice edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 3/9] net: ethtool: record custom RSS contexts in the XArray edward.cree
2024-06-20 6:32 ` Przemek Kitszel
2024-06-20 6:37 ` Edward Cree
2024-06-25 7:17 ` Przemek Kitszel
2024-06-25 9:27 ` Edward Cree
2024-06-25 13:39 ` Edward Cree
2024-06-26 9:05 ` Przemek Kitszel
2024-06-27 14:24 ` Edward Cree
2024-06-28 12:15 ` Przemek Kitszel
2024-06-20 5:47 ` [PATCH v6 net-next 4/9] net: ethtool: let the core choose RSS context IDs edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 5/9] net: ethtool: add an extack parameter to new rxfh_context APIs edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 6/9] net: ethtool: add a mutex protecting RSS contexts edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 7/9] sfc: use new rxfh_context API edward.cree
2024-06-20 5:47 ` [PATCH v6 net-next 8/9] net: ethtool: use the tracking array for get_rxfh on custom RSS contexts edward.cree
2024-06-20 19:42 ` Simon Horman [this message]
2024-06-24 13:31 ` Edward Cree
2024-06-20 5:47 ` [PATCH v6 net-next 9/9] sfc: remove get_rxfh_context dead code edward.cree
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=20240620194214.GT959333@kernel.org \
--to=horms@kernel.org \
--cc=ahmed.zaki@intel.com \
--cc=andrew@lunn.ch \
--cc=davem@davemloft.net \
--cc=ecree.xilinx@gmail.com \
--cc=edumazet@google.com \
--cc=edward.cree@amd.com \
--cc=gakula@marvell.com \
--cc=habetsm.xilinx@gmail.com \
--cc=hkelam@marvell.com \
--cc=jacob.e.keller@intel.com \
--cc=jdamato@fastly.com \
--cc=kuba@kernel.org \
--cc=leon@kernel.org \
--cc=linux-net-drivers@amd.com \
--cc=linux@armlinux.org.uk \
--cc=mw@semihalf.com \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=saeedm@nvidia.com \
--cc=sbhatta@marvell.com \
--cc=sgoutham@marvell.com \
--cc=sudheer.mogilappagari@intel.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.