All of lore.kernel.org
 help / color / mirror / Atom feed
From: Guenter Roeck <linux@roeck-us.net>
To: Edward Cree <ecree@solarflare.com>
Cc: linux-net-drivers@solarflare.com, davem@davemloft.net,
	netdev@vger.kernel.org
Subject: Re: [PATCH net] sfc: fix ef100 design-param checking
Date: Wed, 12 Aug 2020 08:23:05 -0700	[thread overview]
Message-ID: <20200812152305.GA171411@roeck-us.net> (raw)
In-Reply-To: <311d8274-9c6f-4614-552f-b1d3da64f368@solarflare.com>

On Wed, Aug 12, 2020 at 10:32:49AM +0100, Edward Cree wrote:
> The handling of the RXQ/TXQ size granularity design-params had two
>  problems: it had a 64-bit divide that didn't build on 32-bit platforms,
>  and it could divide by zero if the NIC supplied 0 as the value of the
>  design-param.  Fix both by checking for 0 and for a granularity bigger
>  than our min-size; if the granularity <= EFX_MIN_DMAQ_SIZE then it fits
>  in 32 bits, so we can cast it to u32 for the divide.
> 
> Reported-by: kernel test robot <lkp@intel.com>
> Signed-off-by: Edward Cree <ecree@solarflare.com>

Reviewed-by: Guenter Roeck <linux@roeck-us.net>

> ---
> I've only build-tested this, and then only on 64-bit, since our lab's
>  cooling system can't cope with the heatwave and we keep having to shut
>  everything down :(
> 
>  drivers/net/ethernet/sfc/ef100_nic.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/net/ethernet/sfc/ef100_nic.c b/drivers/net/ethernet/sfc/ef100_nic.c
> index 36598d0542ed..206d70f9d95b 100644
> --- a/drivers/net/ethernet/sfc/ef100_nic.c
> +++ b/drivers/net/ethernet/sfc/ef100_nic.c
> @@ -979,7 +979,8 @@ static int ef100_process_design_param(struct efx_nic *efx,
>  		 * EFX_MIN_DMAQ_SIZE is divisible by GRANULARITY.
>  		 * This is very unlikely to fail.
>  		 */
> -		if (EFX_MIN_DMAQ_SIZE % reader->value) {
> +		if (!reader->value || reader->value > EFX_MIN_DMAQ_SIZE ||
> +		    EFX_MIN_DMAQ_SIZE % (u32)reader->value) {
>  			netif_err(efx, probe, efx->net_dev,
>  				  "%s size granularity is %llu, can't guarantee safety\n",
>  				  reader->type == ESE_EF100_DP_GZ_RXQ_SIZE_GRANULARITY ? "RXQ" : "TXQ",

  reply	other threads:[~2020-08-12 15:23 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-08-12  9:32 [PATCH net] sfc: fix ef100 design-param checking Edward Cree
2020-08-12 15:23 ` Guenter Roeck [this message]
2020-08-12 20:06 ` David Miller

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=20200812152305.GA171411@roeck-us.net \
    --to=linux@roeck-us.net \
    --cc=davem@davemloft.net \
    --cc=ecree@solarflare.com \
    --cc=linux-net-drivers@solarflare.com \
    --cc=netdev@vger.kernel.org \
    /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.