All of lore.kernel.org
 help / color / mirror / Atom feed
* drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c:424 ixgbe_fcoe_ddp() warn: potential spectre issue 'fcoe->ddp' [r] (local cap)
@ 2022-01-06 22:53 kernel test robot
  0 siblings, 0 replies; only message in thread
From: kernel test robot @ 2022-01-06 22:53 UTC (permalink / raw)
  To: kbuild

[-- Attachment #1: Type: text/plain, Size: 14862 bytes --]

CC: kbuild-all(a)lists.01.org
CC: linux-kernel(a)vger.kernel.org
TO: Luc Van Oostenryck <luc.vanoostenryck@gmail.com>
CC: Andrew Morton <akpm@linux-foundation.org>
CC: Linux Memory Management List <linux-mm@kvack.org>

tree:   https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git master
head:   75acfdb6fd922598a408a0d864486aeb167c1a97
commit: d991bb1c8da842a2a0b9dc83b1005e655783f861 include/linux/compiler-gcc.h: sparse can do constant folding of __builtin_bswap*()
date:   8 months ago
:::::: branch date: 25 hours ago
:::::: commit date: 8 months ago
config: i386-randconfig-m021-20220105 (https://download.01.org/0day-ci/archive/20220107/202201070658.LRl1HssZ-lkp(a)intel.com/config)
compiler: gcc-9 (Debian 9.3.0-22) 9.3.0

If you fix the issue, kindly add following tag as appropriate
Reported-by: kernel test robot <lkp@intel.com>
Reported-by: Dan Carpenter <dan.carpenter@oracle.com>

smatch warnings:
drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c:424 ixgbe_fcoe_ddp() warn: potential spectre issue 'fcoe->ddp' [r] (local cap)

vim +424 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c

68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  370  
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  371  /**
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  372   * ixgbe_fcoe_ddp - check ddp status and mark it done
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  373   * @adapter: ixgbe adapter
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  374   * @rx_desc: advanced rx descriptor
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  375   * @skb: the skb holding the received data
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  376   *
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  377   * This checks ddp status.
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  378   *
3d8fd385677292 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-06-08  379   * Returns : < 0 indicates an error or not a FCiE ddp, 0 indicates
3d8fd385677292 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-06-08  380   * not passing the skb to ULD, > 0 indicates is the length of data
3d8fd385677292 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-06-08  381   * being ddped.
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  382   */
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  383  int ixgbe_fcoe_ddp(struct ixgbe_adapter *adapter,
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  384  		   union ixgbe_adv_rx_desc *rx_desc,
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  385  		   struct sk_buff *skb)
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  386  {
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  387  	int rc = -EINVAL;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  388  	struct ixgbe_fcoe *fcoe;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  389  	struct ixgbe_fcoe_ddp *ddp;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  390  	struct fc_frame_header *fh;
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  391  	struct fcoe_crc_eof *crc;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  392  	__le32 fcerr = ixgbe_test_staterr(rx_desc, IXGBE_RXDADV_ERR_FCERR);
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  393  	__le32 ddp_err;
ea412015a2e72f drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Vasu Dev        2015-04-09  394  	int ddp_max;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  395  	u32 fctl;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  396  	u16 xid;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  397  
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  398  	if (fcerr == cpu_to_le32(IXGBE_FCERR_BADCRC))
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  399  		skb->ip_summed = CHECKSUM_NONE;
bc8acf2c8c3e43 drivers/net/ixgbe/ixgbe_fcoe.c                Eric Dumazet    2010-09-02  400  	else
bc8acf2c8c3e43 drivers/net/ixgbe/ixgbe_fcoe.c                Eric Dumazet    2010-09-02  401  		skb->ip_summed = CHECKSUM_UNNECESSARY;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  402  
be5d507d9af23c drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2010-05-18  403  	if (eth_hdr(skb)->h_proto == htons(ETH_P_8021Q))
be5d507d9af23c drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2010-05-18  404  		fh = (struct fc_frame_header *)(skb->data +
be5d507d9af23c drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2010-05-18  405  			sizeof(struct vlan_hdr) + sizeof(struct fcoe_hdr));
be5d507d9af23c drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2010-05-18  406  	else
be5d507d9af23c drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2010-05-18  407  		fh = (struct fc_frame_header *)(skb->data +
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  408  			sizeof(struct fcoe_hdr));
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  409  
d4ab88194e982a drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-09-03  410  	fctl = ntoh24(fh->fh_f_ctl);
d4ab88194e982a drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-09-03  411  	if (fctl & FC_FC_EX_CTX)
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  412  		xid =  be16_to_cpu(fh->fh_ox_id);
d4ab88194e982a drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-09-03  413  	else
d4ab88194e982a drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-09-03  414  		xid =  be16_to_cpu(fh->fh_rx_id);
d4ab88194e982a drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-09-03  415  
ea412015a2e72f drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Vasu Dev        2015-04-09  416  	ddp_max = IXGBE_FCOE_DDP_MAX;
ea412015a2e72f drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Vasu Dev        2015-04-09  417  	/* X550 has different DDP Max limit */
ea412015a2e72f drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Vasu Dev        2015-04-09  418  	if (adapter->hw.mac.type == ixgbe_mac_X550)
ea412015a2e72f drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Vasu Dev        2015-04-09  419  		ddp_max = IXGBE_FCOE_DDP_MAX_X550;
ea412015a2e72f drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Vasu Dev        2015-04-09  420  	if (xid >= ddp_max)
e90dd264566405 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Mark Rustad     2014-07-22  421  		return -EINVAL;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  422  
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  423  	fcoe = &adapter->fcoe;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13 @424  	ddp = &fcoe->ddp[xid];
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  425  	if (!ddp->udl)
e90dd264566405 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Mark Rustad     2014-07-22  426  		return -EINVAL;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  427  
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  428  	ddp_err = ixgbe_test_staterr(rx_desc, IXGBE_RXDADV_ERR_FCEOFE |
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  429  					      IXGBE_RXDADV_ERR_FCERR);
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  430  	if (ddp_err)
e90dd264566405 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Mark Rustad     2014-07-22  431  		return -EINVAL;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  432  
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  433  	switch (ixgbe_test_staterr(rx_desc, IXGBE_RXDADV_STAT_FCSTAT)) {
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  434  	/* return 0 to bypass going to ULD for DDPed data */
a1108ffd18c6e4 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Joe Perches     2014-03-13  435  	case cpu_to_le32(IXGBE_RXDADV_STAT_FCSTAT_DDP):
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  436  		/* update length of DDPed data */
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  437  		ddp->len = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss);
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  438  		rc = 0;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  439  		break;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  440  	/* unmap the sg list when FCPRSP is received */
a1108ffd18c6e4 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Joe Perches     2014-03-13  441  	case cpu_to_le32(IXGBE_RXDADV_STAT_FCSTAT_FCPRSP):
1bf91cdc1bba94 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-05-05  442  		dma_unmap_sg(&adapter->pdev->dev, ddp->sgl,
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  443  			     ddp->sgc, DMA_FROM_DEVICE);
9cfbfa701b5586 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Cathy Zhou      2018-04-13  444  		ddp->err = (__force u32)ddp_err;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  445  		ddp->sgl = NULL;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  446  		ddp->sgc = 0;
5463fce643e8d0 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Jeff Kirsher    2020-06-03  447  		fallthrough;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  448  	/* if DDP length is present pass it through to ULD */
a1108ffd18c6e4 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Joe Perches     2014-03-13  449  	case cpu_to_le32(IXGBE_RXDADV_STAT_FCSTAT_NODDP):
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  450  		/* update length of DDPed data */
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  451  		ddp->len = le32_to_cpu(rx_desc->wb.lower.hi_dword.rss);
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  452  		if (ddp->len)
3d8fd385677292 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-06-08  453  			rc = ddp->len;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  454  		break;
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  455  	/* no match will return as an error */
a1108ffd18c6e4 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Joe Perches     2014-03-13  456  	case cpu_to_le32(IXGBE_RXDADV_STAT_FCSTAT_NOMTCH):
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  457  	default:
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  458  		break;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  459  	}
f56e0cb1fea6aa drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Alexander Duyck 2012-01-31  460  
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  461  	/* In target mode, check the last data frame of the sequence.
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  462  	 * For DDP in target mode, data is already DDPed but the header
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  463  	 * indication of the last data frame ould allow is to tell if we
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  464  	 * got all the data and the ULP can send FCP_RSP back, as this is
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  465  	 * not a full fcoe frame, we fill the trailer here so it won't be
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  466  	 * dropped by the ULP stack.
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  467  	 */
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  468  	if ((fh->fh_r_ctl == FC_RCTL_DD_SOL_DATA) &&
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  469  	    (fctl & FC_FC_END_SEQ)) {
441e1719f21356 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Yi Zou          2012-04-20  470  		skb_linearize(skb);
4df864c1d9afb4 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Johannes Berg   2017-06-16  471  		crc = skb_put(skb, sizeof(*crc));
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  472  		crc->fcoe_eof = FC_EOF_T;
68a683cf6a5ff0 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2011-02-01  473  	}
e90dd264566405 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c Mark Rustad     2014-07-22  474  
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  475  	return rc;
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  476  }
d0ed89373f2da1 drivers/net/ixgbe/ixgbe_fcoe.c                Yi Zou          2009-05-13  477  

:::::: The code at line 424 was first introduced by commit
:::::: d0ed89373f2da1a0d83697d87441e519caf18cf7 ixgbe: Add infrastructure code for FCoE large receive offload to 82599

:::::: TO: Yi Zou <yi.zou@intel.com>
:::::: CC: David S. Miller <davem@davemloft.net>

---
0-DAY CI Kernel Test Service, Intel Corporation
https://lists.01.org/hyperkitty/list/kbuild-all(a)lists.01.org

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

only message in thread, other threads:[~2022-01-06 22:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-01-06 22:53 drivers/net/ethernet/intel/ixgbe/ixgbe_fcoe.c:424 ixgbe_fcoe_ddp() warn: potential spectre issue 'fcoe->ddp' [r] (local cap) kernel test robot

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.