From mboxrd@z Thu Jan 1 00:00:00 1970 Content-Type: multipart/mixed; boundary="===============3652722643206033734==" MIME-Version: 1.0 From: kernel test robot Subject: drivers/net/ethernet/actions/owl-emac.c:210 owl_emac_ring_prepare_rx() error: potentially dereferencing uninitialized 'desc'. Date: Tue, 18 Jan 2022 19:13:25 +0800 Message-ID: <202201181515.OPFOFmFA-lkp@intel.com> List-Id: To: kbuild@lists.01.org --===============3652722643206033734== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable CC: kbuild-all(a)lists.01.org CC: linux-kernel(a)vger.kernel.org TO: Cai Huoqing Hi Cai, First bad commit (maybe !=3D root cause): tree: https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git = master head: 0c947b893d69231a9add855939da7c66237ab44f commit: fbcf8a340150abd20bf44fc706362b0827157fe8 net: ethernet: actions: Ad= d helper dependency on COMPILE_TEST date: 5 months ago :::::: branch date: 23 hours ago :::::: commit date: 5 months ago config: openrisc-randconfig-m031-20220117 (https://download.01.org/0day-ci/= archive/20220118/202201181515.OPFOFmFA-lkp(a)intel.com/config) compiler: or1k-linux-gcc (GCC) 11.2.0 If you fix the issue, kindly add following tag as appropriate Reported-by: kernel test robot Reported-by: Dan Carpenter smatch warnings: drivers/net/ethernet/actions/owl-emac.c:210 owl_emac_ring_prepare_rx() erro= r: potentially dereferencing uninitialized 'desc'. drivers/net/ethernet/actions/owl-emac.c:233 owl_emac_ring_prepare_tx() erro= r: 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 *r= ing =3D &priv->rx_ring; de6e0b19823985 Cristian Ciocaltea 2021-03-22 182 struct device *dev =3D = owl_emac_get_dev(priv); de6e0b19823985 Cristian Ciocaltea 2021-03-22 183 struct net_device *netd= ev =3D priv->netdev; de6e0b19823985 Cristian Ciocaltea 2021-03-22 184 struct owl_emac_ring_de= sc *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 =3D 0; i < ring-= >size; i++) { de6e0b19823985 Cristian Ciocaltea 2021-03-22 190 skb =3D 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 =3D 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 =3D &ring->descs[= i]; de6e0b19823985 Cristian Ciocaltea 2021-03-22 201 desc->status =3D OWL_E= MAC_BIT_RDES0_OWN; de6e0b19823985 Cristian Ciocaltea 2021-03-22 202 desc->control =3D skb_= tailroom(skb) & OWL_EMAC_MSK_RDES1_RBS1; de6e0b19823985 Cristian Ciocaltea 2021-03-22 203 desc->buf_addr =3D dma= _addr; de6e0b19823985 Cristian Ciocaltea 2021-03-22 204 desc->reserved =3D 0; de6e0b19823985 Cristian Ciocaltea 2021-03-22 205 = de6e0b19823985 Cristian Ciocaltea 2021-03-22 206 ring->skbs[i] =3D skb; de6e0b19823985 Cristian Ciocaltea 2021-03-22 207 ring->skbs_dma[i] =3D = 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 |=3D OWL_= EMAC_BIT_RDES1_RER; de6e0b19823985 Cristian Ciocaltea 2021-03-22 211 = de6e0b19823985 Cristian Ciocaltea 2021-03-22 212 ring->head =3D 0; de6e0b19823985 Cristian Ciocaltea 2021-03-22 213 ring->tail =3D 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_rin= g_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 *r= ing =3D &priv->tx_ring; de6e0b19823985 Cristian Ciocaltea 2021-03-22 221 struct owl_emac_ring_de= sc *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 =3D 0; i < ring-= >size; i++) { de6e0b19823985 Cristian Ciocaltea 2021-03-22 225 desc =3D &ring->descs[= i]; de6e0b19823985 Cristian Ciocaltea 2021-03-22 226 = de6e0b19823985 Cristian Ciocaltea 2021-03-22 227 desc->status =3D 0; de6e0b19823985 Cristian Ciocaltea 2021-03-22 228 desc->control =3D OWL_= EMAC_BIT_TDES1_IC; de6e0b19823985 Cristian Ciocaltea 2021-03-22 229 desc->buf_addr =3D 0; de6e0b19823985 Cristian Ciocaltea 2021-03-22 230 desc->reserved =3D 0; de6e0b19823985 Cristian Ciocaltea 2021-03-22 231 } de6e0b19823985 Cristian Ciocaltea 2021-03-22 232 = de6e0b19823985 Cristian Ciocaltea 2021-03-22 @233 desc->control |=3D 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 =3D 0; de6e0b19823985 Cristian Ciocaltea 2021-03-22 238 ring->tail =3D 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 :::::: CC: David S. Miller --- 0-DAY CI Kernel Test Service, Intel Corporation https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org --===============3652722643206033734==--