All of lore.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: Leon Romanovsky <leon@kernel.org>
Cc: vladbu@nvidia.com, linux-rdma@vger.kernel.org,
	linux-netdev <netdev@vger.kernel.org>
Subject: Re: [bug report] net/mlx5e: E-Switch, Maintain vhca_id to vport_num mapping
Date: Wed, 10 Feb 2021 15:28:01 +0300	[thread overview]
Message-ID: <20210210122801.GW20820@kadam> (raw)
In-Reply-To: <20210210114820.GA741034@unreal>

On Wed, Feb 10, 2021 at 01:48:20PM +0200, Leon Romanovsky wrote:
> On Wed, Feb 10, 2021 at 11:51:51AM +0300, Dan Carpenter wrote:
> > Hello Vlad Buslov,
> >
> > The patch 84ae9c1f29c0: "net/mlx5e: E-Switch, Maintain vhca_id to
> > vport_num mapping" from Sep 23, 2020, leads to the following static
> > checker warning:
> >
> > 	drivers/net/ethernet/mellanox/mlx5/core/vport.c:1170 mlx5_vport_get_other_func_cap()
> > 	warn: odd binop '0x0 & 0x1'
> >
> > drivers/net/ethernet/mellanox/mlx5/core/vport.c
> >   1168  int mlx5_vport_get_other_func_cap(struct mlx5_core_dev *dev, u16 function_id, void *out)
> >   1169  {
> >   1170          u16 opmod = (MLX5_CAP_GENERAL << 1) | (HCA_CAP_OPMOD_GET_MAX & 0x01);
> >
> > HCA_CAP_OPMOD_GET_MAX is zero.  The 0x01 is a magical number.
> >
> >   1171          u8 in[MLX5_ST_SZ_BYTES(query_hca_cap_in)] = {};
> >   1172
> >   1173          MLX5_SET(query_hca_cap_in, in, opcode, MLX5_CMD_OP_QUERY_HCA_CAP);
> >   1174          MLX5_SET(query_hca_cap_in, in, op_mod, opmod);
> >   1175          MLX5_SET(query_hca_cap_in, in, function_id, function_id);
> >   1176          MLX5_SET(query_hca_cap_in, in, other_function, true);
> >   1177          return mlx5_cmd_exec_inout(dev, query_hca_cap, in, out);
> >   1178  }
> 
> Dan,
> 
> I'm running smatch which is based on 6193b3b71beb ("extra: fix some error pointer handling")
> and I don't see this error. Should I run something special?
> 

This check is too crap to publish.

The heuristic was "a bitwise AND which always results in zero" but a lot
of code does stuff like:  "data = 0x00 << 0 | 0x04 << 8 | 0x12 << 16;"
I could never figure out a way to make the check useful enough to
publish.

regards,
dan carpenter


  reply	other threads:[~2021-02-10 12:31 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-02-10  8:51 [bug report] net/mlx5e: E-Switch, Maintain vhca_id to vport_num mapping Dan Carpenter
2021-02-10 11:48 ` Leon Romanovsky
2021-02-10 12:28   ` Dan Carpenter [this message]
2021-02-10 14:43     ` Leon Romanovsky
2021-02-12 19:23 ` Vlad Buslov

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=20210210122801.GW20820@kadam \
    --to=dan.carpenter@oracle.com \
    --cc=leon@kernel.org \
    --cc=linux-rdma@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=vladbu@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.