public inbox for kernel-janitors@vger.kernel.org
 help / color / mirror / Atom feed
From: Dan Carpenter <dan.carpenter@oracle.com>
To: ansuelsmth@gmail.com
Cc: kernel-janitors@vger.kernel.org
Subject: [bug report] net: dsa: qca8k: add support for switch rev
Date: Wed, 19 May 2021 11:31:08 +0300	[thread overview]
Message-ID: <YKTMzJOmd7AZGQID@mwanda> (raw)

Hello Ansuel Smith,

The patch 95ffeaf18b3b: "net: dsa: qca8k: add support for switch rev"
from May 14, 2021, leads to the following static checker warning:

drivers/net/dsa/qca8k.c:163 qca8k_read() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:212 qca8k_rmw() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:309 qca8k_busy_wait() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:324 qca8k_fdb_read() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:400 qca8k_fdb_access() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:481 qca8k_vlan_access() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:509 qca8k_vlan_add() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:544 qca8k_vlan_del() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:648 qca8k_mdio_busy_wait() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:1315 qca8k_phylink_mac_link_state() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:1425 qca8k_get_ethtool_stats() warn: unsigned 'val' is never less than zero.
drivers/net/dsa/qca8k.c:1430 qca8k_get_ethtool_stats() warn: unsigned 'hi' is never less than zero.
drivers/net/dsa/qca8k.c:1459 qca8k_set_mac_eee() warn: unsigned 'reg' is never less than zero.
drivers/net/dsa/qca8k.c:1799 qca8k_read_switch_id() warn: unsigned 'val' is never less than zero.

drivers/net/dsa/qca8k.c:732 qca8k_mdio_read() warn: always true condition '(val >= 0) => (0-u32max >= 0)'

drivers/net/dsa/qca8k.c
   151  static u32
               ^^^
This is a unsigned, but the callers expect int.  Which is harmless but
kind of messy.

   152  qca8k_read(struct qca8k_priv *priv, u32 reg)
   153  {
   154          struct mii_bus *bus = priv->bus;
   155          u16 r1, r2, page;
   156          u32 val;
   157  
   158          qca8k_split_addr(reg, &r1, &r2, &page);
   159  
   160          mutex_lock_nested(&bus->mdio_lock, MDIO_MUTEX_NESTED);
   161  
   162          val = qca8k_set_page(bus, page);
   163          if (val < 0)

Obviously unsigned can't be less than zero.

   164                  goto exit;
   165  
   166          val = qca8k_mii_read32(bus, 0x10 | r2, r1);

How high can this be?  In real life I expect that it's fine and there
are few times where we actually need to go over INT_MAX (2 million
should be enough for anybody), but it might be better to not mix this
with error codes?

   167  
   168  exit:
   169          mutex_unlock(&bus->mdio_lock);
   170          return val;
   171  }

regards,
dan carpenter

                 reply	other threads:[~2021-05-19  8:31 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

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=YKTMzJOmd7AZGQID@mwanda \
    --to=dan.carpenter@oracle.com \
    --cc=ansuelsmth@gmail.com \
    --cc=kernel-janitors@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox