netdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jakub Kicinski <kuba@kernel.org>
To: "Linga, Pavan Kumar" <pavan.kumar.linga@intel.com>
Cc: Tony Nguyen <anthony.l.nguyen@intel.com>, <davem@davemloft.net>,
	<pabeni@redhat.com>, <edumazet@google.com>,
	<netdev@vger.kernel.org>, Alan Brady <alan.brady@intel.com>,
	<emil.s.tantilov@intel.com>, <jesse.brandeburg@intel.com>,
	<sridhar.samudrala@intel.com>, <shiraz.saleem@intel.com>,
	<sindhu.devale@intel.com>, <willemb@google.com>,
	<decot@google.com>, <andrew@lunn.ch>, <leon@kernel.org>,
	<mst@redhat.com>, <simon.horman@corigine.com>,
	<shannon.nelson@amd.com>, <stephen@networkplumber.org>,
	Alice Michael <alice.michael@intel.com>,
	Joshua Hay <joshua.a.hay@intel.com>,
	Phani Burra <phani.r.burra@intel.com>
Subject: Re: [PATCH net-next v5 14/15] idpf: add ethtool callbacks
Date: Mon, 21 Aug 2023 14:02:05 -0700	[thread overview]
Message-ID: <20230821140205.4d3bc797@kernel.org> (raw)
In-Reply-To: <b12c2182-484f-249f-1fd6-8cc8fafb1c6a@intel.com>

On Mon, 21 Aug 2023 13:41:15 -0700 Linga, Pavan Kumar wrote:
> On 8/18/2023 11:58 AM, Jakub Kicinski wrote:
> > On Tue, 15 Aug 2023 17:43:04 -0700 Tony Nguyen wrote:  
> >> +static u32 idpf_get_rxfh_indir_size(struct net_device *netdev)
> >> +{
> >> +	struct idpf_vport *vport = idpf_netdev_to_vport(netdev);
> >> +	struct idpf_vport_user_config_data *user_config;
> >> +
> >> +	if (!vport)
> >> +		return -EINVAL;  
> > 
> > defensive programming? how do we have a netdev and no vport?
> 
> During a hardware reset, the control plane will reinitialize its vport 
> configuration along with the hardware resources which in turn requires 
> the driver to reallocate the vports as well. For this reason the vports 
> will be freed, but the netdev will be preserved.

HW reset path should take appropriate locks so that the normal control
path can't be exposed to transient errors.

User space will 100% not know what to do with a GET reporting EINVAL.

> >> +	dev = &vport->adapter->pdev->dev;
> >> +	if (!(ch->combined_count || (ch->rx_count && ch->tx_count))) {
> >> +		dev_err(dev, "Please specify at least 1 Rx and 1 Tx channel\n");  
> > 
> > The error msg doesn't seem to fit the second part of the condition.
> >
> 
> The negation part is to the complete check which means it takes 0 
> [tx|rx]_count into consideration.

Ah, missed the negation. In that case I think the check is not needed,
pretty sure core checks this.

> >> +		return -EINVAL;
> >> +	}
> >> +
> >> +	num_req_tx_q = ch->combined_count + ch->tx_count;
> >> +	num_req_rx_q = ch->combined_count + ch->rx_count;
> >> +
> >> +	dev = &vport->adapter->pdev->dev;
> >> +	/* It's possible to specify number of queues that exceeds max in a way
> >> +	 * that stack won't catch for us, this should catch that.
> >> +	 */  
> > 
> > How, tho?
> 
> If the user tries to pass the combined along with the txq or rxq values, 
> then it is possbile to cross the max supported values. So the following 
> checks are needed to protect those cases. Core checks the max values for 
> the individual arguments but not the combined + [tx|rx].

I see, please add something along those lines to the comment.

  reply	other threads:[~2023-08-21 21:02 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-08-16  0:42 [PATCH net-next v5 00/15][pull request] Introduce Intel IDPF driver Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 01/15] virtchnl: add virtchnl version 2 ops Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 02/15] idpf: add module register and probe functionality Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 03/15] idpf: add controlq init and reset checks Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 04/15] idpf: add core init and interrupt request Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 05/15] idpf: add create vport and netdev configuration Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 06/15] idpf: add ptypes and MAC filter support Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 07/15] idpf: configure resources for TX queues Tony Nguyen
2023-08-16  0:42 ` [PATCH net-next v5 08/15] idpf: configure resources for RX queues Tony Nguyen
2023-08-18  2:58   ` Jakub Kicinski
2023-08-18 17:36     ` Linga, Pavan Kumar
2023-08-16  0:42 ` [PATCH net-next v5 09/15] idpf: initialize interrupts and enable vport Tony Nguyen
2023-08-16  0:43 ` [PATCH net-next v5 10/15] idpf: add splitq start_xmit Tony Nguyen
2023-08-18 18:37   ` Jakub Kicinski
2023-08-21 20:42     ` Linga, Pavan Kumar
2023-08-16  0:43 ` [PATCH net-next v5 11/15] idpf: add TX splitq napi poll support Tony Nguyen
2023-08-18 18:42   ` Jakub Kicinski
2023-08-16  0:43 ` [PATCH net-next v5 12/15] idpf: add RX " Tony Nguyen
2023-08-18 18:46   ` Jakub Kicinski
2023-08-16  0:43 ` [PATCH net-next v5 13/15] idpf: add singleq start_xmit and napi poll Tony Nguyen
2023-08-18 18:47   ` Jakub Kicinski
2023-08-16  0:43 ` [PATCH net-next v5 14/15] idpf: add ethtool callbacks Tony Nguyen
2023-08-18 18:58   ` Jakub Kicinski
2023-08-18 22:42     ` Przemek Kitszel
2023-08-19  0:01       ` Jakub Kicinski
2023-08-21 20:41     ` Linga, Pavan Kumar
2023-08-21 21:02       ` Jakub Kicinski [this message]
2023-08-23 18:05         ` Linga, Pavan Kumar
2023-08-16  0:43 ` [PATCH net-next v5 15/15] idpf: configure SRIOV and add other ndo_ops Tony Nguyen
2023-08-18  3:02   ` Jakub Kicinski
2023-08-18 17:41     ` Linga, Pavan Kumar

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=20230821140205.4d3bc797@kernel.org \
    --to=kuba@kernel.org \
    --cc=alan.brady@intel.com \
    --cc=alice.michael@intel.com \
    --cc=andrew@lunn.ch \
    --cc=anthony.l.nguyen@intel.com \
    --cc=davem@davemloft.net \
    --cc=decot@google.com \
    --cc=edumazet@google.com \
    --cc=emil.s.tantilov@intel.com \
    --cc=jesse.brandeburg@intel.com \
    --cc=joshua.a.hay@intel.com \
    --cc=leon@kernel.org \
    --cc=mst@redhat.com \
    --cc=netdev@vger.kernel.org \
    --cc=pabeni@redhat.com \
    --cc=pavan.kumar.linga@intel.com \
    --cc=phani.r.burra@intel.com \
    --cc=shannon.nelson@amd.com \
    --cc=shiraz.saleem@intel.com \
    --cc=simon.horman@corigine.com \
    --cc=sindhu.devale@intel.com \
    --cc=sridhar.samudrala@intel.com \
    --cc=stephen@networkplumber.org \
    --cc=willemb@google.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).