linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* drivers/net/ethernet/broadcom/bnxt/bnxt.c:4114:38: warning: '%s' directive output may be truncated writing 4 bytes into a region of size between 2 and 17
@ 2023-12-14 20:40 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2023-12-14 20:40 UTC (permalink / raw)
  To: Michael Chan; +Cc: oe-kbuild-all, linux-kernel, Prashant Sreedharan

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   5bd7ef53ffe5ca580e93e74eb8c81ed191ddc4bd
commit: c0c050c58d840994ba842ad1c338a98e7c12b764 bnxt_en: New Broadcom ethernet driver.
date:   8 years ago
config: alpha-randconfig-r034-20230903 (https://download.01.org/0day-ci/archive/20231215/202312150450.V7TAnasg-lkp@intel.com/config)
compiler: alpha-linux-gcc (GCC) 12.3.0
reproduce: (https://download.01.org/0day-ci/archive/20231215/202312150450.V7TAnasg-lkp@intel.com/reproduce)

If you fix the issue in a separate patch/commit (i.e. not just a new version of
the same patch/commit), kindly add following tags
| Reported-by: kernel test robot <lkp@intel.com>
| Closes: https://lore.kernel.org/oe-kbuild-all/202312150450.V7TAnasg-lkp@intel.com/

All warnings (new ones prefixed by >>):

     319 |         if (sk->sk_wmem_queued > SOCK_MIN_SNDBUF &&
         |                                ^
   include/net/tcp.h: In function 'tcp_slow_start_after_idle_check':
   include/net/tcp.h:1188:19: warning: comparison of integer expressions of different signedness: 's32' {aka 'int'} and '__u32' {aka 'unsigned int'} [-Wsign-compare]
    1188 |         if (delta > inet_csk(sk)->icsk_rto)
         |                   ^
   include/net/tcp.h: In function 'keepalive_intvl_when':
   include/net/tcp.h:1224:40: warning: operand of '?:' changes signedness from 'int' to 'unsigned int' due to unsignedness of other operand [-Wsign-compare]
    1224 |         return tp->keepalive_intvl ? : sysctl_tcp_keepalive_intvl;
         |                                        ^~~~~~~~~~~~~~~~~~~~~~~~~~
   include/net/tcp.h: In function 'keepalive_time_when':
   include/net/tcp.h:1229:39: warning: operand of '?:' changes signedness from 'int' to 'unsigned int' due to unsignedness of other operand [-Wsign-compare]
    1229 |         return tp->keepalive_time ? : sysctl_tcp_keepalive_time;
         |                                       ^~~~~~~~~~~~~~~~~~~~~~~~~
   include/net/tcp.h: In function 'tcp_paws_check':
   include/net/tcp.h:1261:36: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'long int' [-Wsign-compare]
    1261 |         if (unlikely(get_seconds() >= rx_opt->ts_recent_stamp + TCP_PAWS_24DAYS))
         |                                    ^~
   include/linux/compiler.h:166:45: note: in definition of macro 'unlikely'
     166 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   include/net/tcp.h: In function 'tcp_paws_reject':
   include/net/tcp.h:1291:34: warning: comparison of integer expressions of different signedness: 'long unsigned int' and 'long int' [-Wsign-compare]
    1291 |         if (rst && get_seconds() >= rx_opt->ts_recent_stamp + TCP_PAWS_MSL)
         |                                  ^~
   In file included from include/net/ip_tunnels.h:11,
                    from include/net/dst_metadata.h:5,
                    from include/net/vxlan.h:10,
                    from drivers/net/ethernet/broadcom/bnxt/bnxt.c:41:
   include/net/gro_cells.h: In function 'gro_cells_receive':
   include/net/gro_cells.h:29:45: warning: comparison of integer expressions of different signedness: '__u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
      29 |         if (skb_queue_len(&cell->napi_skbs) > netdev_max_backlog) {
         |                                             ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_start_xmit':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:192:32: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
     192 |         if (unlikely(free_size < skb_shinfo(skb)->nr_frags + 2)) {
         |                                ^
   include/linux/compiler.h:166:45: note: in definition of macro 'unlikely'
     166 | # define unlikely(x)    __builtin_expect(!!(x), 0)
         |                                             ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:221:53: warning: comparison of integer expressions of different signedness: 'unsigned int' and 'int' [-Wsign-compare]
     221 |         if (free_size == bp->tx_ring_size && length <= bp->tx_push_thresh) {
         |                                                     ^~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:389:44: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
     389 |                 if (bnxt_tx_avail(bp, txr) > bp->tx_wake_thresh)
         |                                            ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_tx_int':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:475:37: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
     475 |             (bnxt_tx_avail(bp, txr) > bp->tx_wake_thresh)) {
         |                                     ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:478:44: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
     478 |                     bnxt_tx_avail(bp, txr) > bp->tx_wake_thresh &&
         |                                            ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_init_rxbd_pages':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:1933:31: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
    1933 |                 for (j = 0; j < RX_DESC_CNT; j++, rxbd++, prod++) {
         |                               ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_init_one_rx_ring':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:1963:23: warning: comparison of integer expressions of different signedness: 'int' and 'u32' {aka 'unsigned int'} [-Wsign-compare]
    1963 |         for (i = 0; i < bp->rx_ring_size; i++) {
         |                       ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:1985:23: warning: comparison of integer expressions of different signedness: 'int' and 'u32' {aka 'unsigned int'} [-Wsign-compare]
    1985 |         for (i = 0; i < bp->rx_agg_ring_size; i++) {
         |                       ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_free_stats':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:2375:23: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
    2375 |         for (i = 0; i < bp->cp_nr_rings; i++) {
         |                       ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_alloc_stats':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:2394:23: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
    2394 |         for (i = 0; i < bp->cp_nr_rings; i++) {
         |                       ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function '_hwrm_send_message':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:2612:45: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
    2612 |                 while (bp->hwrm_intr_seq_id != HWRM_SEQ_ID_INVALID &&
         |                                             ^~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:2617:42: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
    2617 |                 if (bp->hwrm_intr_seq_id != HWRM_SEQ_ID_INVALID) {
         |                                          ^~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_hwrm_func_drv_rgtr':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:2702:31: warning: comparison of integer expressions of different signedness: 'int' and 'long unsigned int' [-Wsign-compare]
    2702 |                 for (i = 0; i < ARRAY_SIZE(bnxt_vf_req_snif); i++)
         |                               ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_hwrm_stat_ctx_free':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:3565:42: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
    3565 |                 if (cpr->hw_stats_ctx_id != INVALID_STATS_CTX_ID) {
         |                                          ^~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_tx_enable':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:4313:30: warning: variable 'txq' set but not used [-Wunused-but-set-variable]
    4313 |         struct netdev_queue *txq;
         |                              ^~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_get_stats64':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:4754:23: warning: comparison of integer expressions of different signedness: 'u32' {aka 'unsigned int'} and 'int' [-Wsign-compare]
    4754 |         for (i = 0; i < bp->cp_nr_rings; i++) {
         |                       ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_rx_flow_steer':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:5359:29: warning: comparison is always false due to limited range of data type [-Wtype-limits]
    5359 |         if (new_fltr->sw_id < 0) {
         |                             ^
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_setup_msix':
>> drivers/net/ethernet/broadcom/bnxt/bnxt.c:4114:38: warning: '%s' directive output may be truncated writing 4 bytes into a region of size between 2 and 17 [-Wformat-truncation=]
    4114 |                                  "%s-%s-%d", dev->name, "TxRx", i);
         |                                      ^~                 ~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:4114:34: note: directive argument in the range [-2147483644, 2147483646]
    4114 |                                  "%s-%s-%d", dev->name, "TxRx", i);
         |                                  ^~~~~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:4113:25: note: 'snprintf' output between 8 and 33 bytes into a destination of size 18
    4113 |                         snprintf(bp->irq_tbl[i].name, len,
         |                         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    4114 |                                  "%s-%s-%d", dev->name, "TxRx", i);
         |                                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function '__bnxt_open_nic':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:4154:22: warning: '%s' directive output may be truncated writing 4 bytes into a region of size between 2 and 17 [-Wformat-truncation=]
    4154 |                  "%s-%s-%d", bp->dev->name, "TxRx", 0);
         |                      ^~                     ~~~~~~
   In function 'bnxt_setup_inta',
       inlined from 'bnxt_setup_int_mode' at drivers/net/ethernet/broadcom/bnxt/bnxt.c:4169:8,
       inlined from '__bnxt_open_nic' at drivers/net/ethernet/broadcom/bnxt/bnxt.c:4558:8:
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:4153:9: note: 'snprintf' output between 8 and 23 bytes into a destination of size 18
    4153 |         snprintf(bp->irq_tbl[0].name, len,
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    4154 |                  "%s-%s-%d", bp->dev->name, "TxRx", 0);
         |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_init_one':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:3743:69: warning: '.' directive output may be truncated writing 1 byte into a region of size between 0 and 8 [-Wformat-truncation=]
    3743 |         snprintf(bp->fw_ver_str, BC_HWRM_STR_LEN, "bc %d.%d.%d rm %d.%d.%d",
         |                                                                     ^
   In function 'bnxt_hwrm_ver_get',
       inlined from 'bnxt_init_one' at drivers/net/ethernet/broadcom/bnxt/bnxt.c:5669:2:
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:3743:51: note: directive argument in the range [0, 255]
    3743 |         snprintf(bp->fw_ver_str, BC_HWRM_STR_LEN, "bc %d.%d.%d rm %d.%d.%d",
         |                                                   ^~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:3743:51: note: directive argument in the range [0, 255]
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:3743:9: note: 'snprintf' output between 18 and 30 bytes into a destination of size 21
    3743 |         snprintf(bp->fw_ver_str, BC_HWRM_STR_LEN, "bc %d.%d.%d rm %d.%d.%d",
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    3744 |                  resp->hwrm_fw_maj, resp->hwrm_fw_min, resp->hwrm_fw_bld,
         |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    3745 |                  resp->hwrm_intf_maj, resp->hwrm_intf_min, resp->hwrm_intf_upd);
         |                  ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c: In function 'bnxt_init_one':
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:5563:54: warning: '.' directive output may be truncated writing 1 byte into a region of size between 0 and 4 [-Wformat-truncation=]
    5563 |         snprintf(phy_ver, PHY_VER_STR_LEN, " ph %d.%d.%d",
         |                                                      ^
   In function 'bnxt_probe_phy',
       inlined from 'bnxt_init_one' at drivers/net/ethernet/broadcom/bnxt/bnxt.c:5712:7:
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:5563:44: note: directive argument in the range [0, 255]
    5563 |         snprintf(phy_ver, PHY_VER_STR_LEN, " ph %d.%d.%d",
         |                                            ^~~~~~~~~~~~~~
   drivers/net/ethernet/broadcom/bnxt/bnxt.c:5563:9: note: 'snprintf' output between 10 and 16 bytes into a destination of size 11
    5563 |         snprintf(phy_ver, PHY_VER_STR_LEN, " ph %d.%d.%d",
         |         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    5564 |                  link_info->phy_ver[0],
         |                  ~~~~~~~~~~~~~~~~~~~~~~
    5565 |                  link_info->phy_ver[1],
         |                  ~~~~~~~~~~~~~~~~~~~~~~
    5566 |                  link_info->phy_ver[2]);
         |                  ~~~~~~~~~~~~~~~~~~~~~~


vim +4114 drivers/net/ethernet/broadcom/bnxt/bnxt.c

  4058	
  4059	static int bnxt_setup_msix(struct bnxt *bp)
  4060	{
  4061		struct msix_entry *msix_ent;
  4062		struct net_device *dev = bp->dev;
  4063		int i, total_vecs, rc = 0;
  4064		const int len = sizeof(bp->irq_tbl[0].name);
  4065	
  4066		bp->flags &= ~BNXT_FLAG_USING_MSIX;
  4067		total_vecs = bp->cp_nr_rings;
  4068	
  4069		msix_ent = kcalloc(total_vecs, sizeof(struct msix_entry), GFP_KERNEL);
  4070		if (!msix_ent)
  4071			return -ENOMEM;
  4072	
  4073		for (i = 0; i < total_vecs; i++) {
  4074			msix_ent[i].entry = i;
  4075			msix_ent[i].vector = 0;
  4076		}
  4077	
  4078		total_vecs = pci_enable_msix_range(bp->pdev, msix_ent, 1, total_vecs);
  4079		if (total_vecs < 0) {
  4080			rc = -ENODEV;
  4081			goto msix_setup_exit;
  4082		}
  4083	
  4084		bp->irq_tbl = kcalloc(total_vecs, sizeof(struct bnxt_irq), GFP_KERNEL);
  4085		if (bp->irq_tbl) {
  4086			int tcs;
  4087	
  4088			/* Trim rings based upon num of vectors allocated */
  4089			bp->rx_nr_rings = min_t(int, total_vecs, bp->rx_nr_rings);
  4090			bp->tx_nr_rings = min_t(int, total_vecs, bp->tx_nr_rings);
  4091			bp->tx_nr_rings_per_tc = bp->tx_nr_rings;
  4092			tcs = netdev_get_num_tc(dev);
  4093			if (tcs > 1) {
  4094				bp->tx_nr_rings_per_tc = bp->tx_nr_rings / tcs;
  4095				if (bp->tx_nr_rings_per_tc == 0) {
  4096					netdev_reset_tc(dev);
  4097					bp->tx_nr_rings_per_tc = bp->tx_nr_rings;
  4098				} else {
  4099					int i, off, count;
  4100	
  4101					bp->tx_nr_rings = bp->tx_nr_rings_per_tc * tcs;
  4102					for (i = 0; i < tcs; i++) {
  4103						count = bp->tx_nr_rings_per_tc;
  4104						off = i * count;
  4105						netdev_set_tc_queue(dev, i, count, off);
  4106					}
  4107				}
  4108			}
  4109			bp->cp_nr_rings = max_t(int, bp->rx_nr_rings, bp->tx_nr_rings);
  4110	
  4111			for (i = 0; i < bp->cp_nr_rings; i++) {
  4112				bp->irq_tbl[i].vector = msix_ent[i].vector;
  4113				snprintf(bp->irq_tbl[i].name, len,
> 4114					 "%s-%s-%d", dev->name, "TxRx", i);
  4115				bp->irq_tbl[i].handler = bnxt_msix;
  4116			}
  4117			rc = bnxt_set_real_num_queues(bp);
  4118			if (rc)
  4119				goto msix_setup_exit;
  4120		} else {
  4121			rc = -ENOMEM;
  4122			goto msix_setup_exit;
  4123		}
  4124		bp->flags |= BNXT_FLAG_USING_MSIX;
  4125		kfree(msix_ent);
  4126		return 0;
  4127	
  4128	msix_setup_exit:
  4129		netdev_err(bp->dev, "bnxt_setup_msix err: %x\n", rc);
  4130		pci_disable_msix(bp->pdev);
  4131		kfree(msix_ent);
  4132		return rc;
  4133	}
  4134	

-- 
0-DAY CI Kernel Test Service
https://github.com/intel/lkp-tests/wiki

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2023-12-14 20:41 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-12-14 20:40 drivers/net/ethernet/broadcom/bnxt/bnxt.c:4114:38: warning: '%s' directive output may be truncated writing 4 bytes into a region of size between 2 and 17 kernel test robot

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).