tree:   https://git.kernel.org/pub/scm/linux/kernel/git/tnguy/next-queue.git 
dev-queue
head:   4b8b07968dc902d751d23a775c1a02220db267c9
commit: 9f889e8ffb48536622852fbe2501dc8b75887239 [16/69] ice: dump ethtool 
stats and skb by Tx hang devlink health reporter
config: microblaze-randconfig-r072-20241124 
(https://download.01.org/0day-ci/archive/20241124/[email protected]/config)
compiler: microblaze-linux-gcc (GCC) 14.2.0

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 <[email protected]>
| Reported-by: Dan Carpenter <[email protected]>
| Closes: https://lore.kernel.org/r/[email protected]/

smatch warnings:
drivers/net/ethernet/intel/ice/devlink/health.c:95 ice_tx_hang_reporter_dump() 
warn: variable dereferenced before check 'event' (see line 93)

vim +/event +95 drivers/net/ethernet/intel/ice/devlink/health.c

f19878b2a2e6e4 Przemek Kitszel 2024-09-30   86  static int 
ice_tx_hang_reporter_dump(struct devlink_health_reporter *reporter,
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   87                                  
     struct devlink_fmsg *fmsg, void *priv_ctx,
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   88                                  
     struct netlink_ext_ack *extack)
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   89  {
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   90          struct 
ice_tx_hang_event *event = priv_ctx;
9f889e8ffb4853 Przemek Kitszel 2024-09-30   91          struct sk_buff *skb;
9f889e8ffb4853 Przemek Kitszel 2024-09-30   92  
9f889e8ffb4853 Przemek Kitszel 2024-09-30  @93          skb = 
event->tx_ring->tx_buf->skb;
                                                              ^^^^^^^
Dereference

f19878b2a2e6e4 Przemek Kitszel 2024-09-30   94  
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  @95          if (!event)
                                                            ^^^^^^
Too late

f19878b2a2e6e4 Przemek Kitszel 2024-09-30   96                  return 0;
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   97  
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   98          
devlink_fmsg_obj_nest_start(fmsg);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30   99          
ICE_DEVLINK_FMSG_PUT_FIELD(fmsg, event, head);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  100          
ICE_DEVLINK_FMSG_PUT_FIELD(fmsg, event, intr);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  101          
ICE_DEVLINK_FMSG_PUT_FIELD(fmsg, event, vsi_num);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  102          
ICE_DEVLINK_FMSG_PUT_FIELD(fmsg, event, queue);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  103          
ICE_DEVLINK_FMSG_PUT_FIELD(fmsg, event, next_to_clean);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  104          
ICE_DEVLINK_FMSG_PUT_FIELD(fmsg, event, next_to_use);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  105          devlink_fmsg_put(fmsg, 
"irq-mapping", event->tx_ring->q_vector->name);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  106          ice_fmsg_put_ptr(fmsg, 
"desc-ptr", event->tx_ring->desc);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  107          ice_fmsg_put_ptr(fmsg, 
"dma-ptr", (void *)(long)event->tx_ring->dma);
9f889e8ffb4853 Przemek Kitszel 2024-09-30  108          ice_fmsg_put_ptr(fmsg, 
"skb-ptr", skb);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  109          
devlink_fmsg_binary_pair_put(fmsg, "desc", event->tx_ring->desc,
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  110                                  
     event->tx_ring->count * sizeof(struct ice_tx_desc));
9f889e8ffb4853 Przemek Kitszel 2024-09-30  111          
devlink_fmsg_dump_skb(fmsg, skb);
9f889e8ffb4853 Przemek Kitszel 2024-09-30  112          
ice_dump_ethtool_stats_to_fmsg(fmsg, event->tx_ring->vsi->netdev);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  113          
devlink_fmsg_obj_nest_end(fmsg);
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  114  
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  115          return 0;
f19878b2a2e6e4 Przemek Kitszel 2024-09-30  116  }

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

Reply via email to