BCC: [email protected]
CC: [email protected]
CC: [email protected]
TO: Cai Huoqing <[email protected]>

Hi Cai,

First bad commit (maybe != root cause):

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git 
master
head:   6614a3c3164a5df2b54abb0b3559f51041cf705b
commit: fbcf8a340150abd20bf44fc706362b0827157fe8 net: ethernet: actions: Add 
helper dependency on COMPILE_TEST
date:   12 months ago
:::::: branch date: 18 hours ago
:::::: commit date: 12 months ago
config: openrisc-randconfig-m031-20220801 
(https://download.01.org/0day-ci/archive/20220807/[email protected]/config)
compiler: or1k-linux-gcc (GCC) 12.1.0

If you fix the issue, kindly add following tag where applicable
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>

smatch warnings:
drivers/net/ethernet/actions/owl-emac.c:210 owl_emac_ring_prepare_rx() error: 
potentially dereferencing uninitialized 'desc'.
drivers/net/ethernet/actions/owl-emac.c:233 owl_emac_ring_prepare_tx() error: 
potentially dereferencing uninitialized 'desc'.

vim +/desc +210 drivers/net/ethernet/actions/owl-emac.c

de6e0b19823985 Cristian Ciocaltea 2021-03-22  178  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  179  static int 
owl_emac_ring_prepare_rx(struct owl_emac_priv *priv)
de6e0b19823985 Cristian Ciocaltea 2021-03-22  180  {
de6e0b19823985 Cristian Ciocaltea 2021-03-22  181       struct owl_emac_ring 
*ring = &priv->rx_ring;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  182       struct device *dev = 
owl_emac_get_dev(priv);
de6e0b19823985 Cristian Ciocaltea 2021-03-22  183       struct net_device 
*netdev = priv->netdev;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  184       struct 
owl_emac_ring_desc *desc;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  185       struct sk_buff *skb;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  186       dma_addr_t dma_addr;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  187       int i;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  188  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  189       for (i = 0; i < 
ring->size; i++) {
de6e0b19823985 Cristian Ciocaltea 2021-03-22  190               skb = 
owl_emac_alloc_skb(netdev);
de6e0b19823985 Cristian Ciocaltea 2021-03-22  191               if (!skb)
de6e0b19823985 Cristian Ciocaltea 2021-03-22  192                       return 
-ENOMEM;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  193  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  194               dma_addr = 
owl_emac_dma_map_rx(priv, skb);
de6e0b19823985 Cristian Ciocaltea 2021-03-22  195               if 
(dma_mapping_error(dev, dma_addr)) {
de6e0b19823985 Cristian Ciocaltea 2021-03-22  196                       
dev_kfree_skb(skb);
de6e0b19823985 Cristian Ciocaltea 2021-03-22  197                       return 
-ENOMEM;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  198               }
de6e0b19823985 Cristian Ciocaltea 2021-03-22  199  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  200               desc = 
&ring->descs[i];
de6e0b19823985 Cristian Ciocaltea 2021-03-22  201               desc->status = 
OWL_EMAC_BIT_RDES0_OWN;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  202               desc->control = 
skb_tailroom(skb) & OWL_EMAC_MSK_RDES1_RBS1;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  203               desc->buf_addr 
= dma_addr;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  204               desc->reserved 
= 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  205  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  206               ring->skbs[i] = 
skb;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  207               
ring->skbs_dma[i] = dma_addr;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  208       }
de6e0b19823985 Cristian Ciocaltea 2021-03-22  209  
de6e0b19823985 Cristian Ciocaltea 2021-03-22 @210       desc->control |= 
OWL_EMAC_BIT_RDES1_RER;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  211  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  212       ring->head = 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  213       ring->tail = 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  214  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  215       return 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  216  }
de6e0b19823985 Cristian Ciocaltea 2021-03-22  217  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  218  static void 
owl_emac_ring_prepare_tx(struct owl_emac_priv *priv)
de6e0b19823985 Cristian Ciocaltea 2021-03-22  219  {
de6e0b19823985 Cristian Ciocaltea 2021-03-22  220       struct owl_emac_ring 
*ring = &priv->tx_ring;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  221       struct 
owl_emac_ring_desc *desc;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  222       int i;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  223  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  224       for (i = 0; i < 
ring->size; i++) {
de6e0b19823985 Cristian Ciocaltea 2021-03-22  225               desc = 
&ring->descs[i];
de6e0b19823985 Cristian Ciocaltea 2021-03-22  226  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  227               desc->status = 
0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  228               desc->control = 
OWL_EMAC_BIT_TDES1_IC;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  229               desc->buf_addr 
= 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  230               desc->reserved 
= 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  231       }
de6e0b19823985 Cristian Ciocaltea 2021-03-22  232  
de6e0b19823985 Cristian Ciocaltea 2021-03-22 @233       desc->control |= 
OWL_EMAC_BIT_TDES1_TER;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  234  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  235       memset(ring->skbs_dma, 
0, sizeof(dma_addr_t) * ring->size);
de6e0b19823985 Cristian Ciocaltea 2021-03-22  236  
de6e0b19823985 Cristian Ciocaltea 2021-03-22  237       ring->head = 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  238       ring->tail = 0;
de6e0b19823985 Cristian Ciocaltea 2021-03-22  239  }
de6e0b19823985 Cristian Ciocaltea 2021-03-22  240  

:::::: The code at line 210 was first introduced by commit
:::::: de6e0b198239857943db395377dc1d2ddd6c05df net: ethernet: actions: Add 
Actions Semi Owl Ethernet MAC driver

:::::: TO: Cristian Ciocaltea <[email protected]>
:::::: CC: David S. Miller <[email protected]>

-- 
0-DAY CI Kernel Test Service
https://01.org/lkp
_______________________________________________
kbuild mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to