re: mlx4_en: Using blue flame support

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hello Yevgeny Petrilin,

The patch 87a5c3896f9c: "mlx4_en: Using blue flame support" from
Mar 22, 2011, leads to the following static checker warning:

	drivers/net/ethernet/mellanox/mlx4/en_tx.c:839 mlx4_en_xmit()
	warn: potential memory corrupting cast 4 vs 2 bytes

drivers/net/ethernet/mellanox/mlx4/en_tx.c
   771          tx_desc->ctrl.ins_vlan = MLX4_WQE_CTRL_INS_VLAN *
   772                  !!vlan_tx_tag_present(skb);
   773          tx_desc->ctrl.fence_size = (real_size / 16) & 0x3f;

We set ->ctrl.ins_vlan and ->ctrl.fence_size here.

   774          tx_desc->ctrl.srcrb_flags = priv->ctrl_flags;
   775          if (likely(skb->ip_summed == CHECKSUM_PARTIAL)) {
   776                  tx_desc->ctrl.srcrb_flags |= cpu_to_be32(MLX4_WQE_CTRL_IP_CSUM |
   777                                                           MLX4_WQE_CTRL_TCP_UDP_CSUM);
   778                  ring->tx_csum++;
   779          }

[ snip ]

   838          if (ring->bf_enabled && desc_size <= MAX_BF && !bounce && !vlan_tx_tag_present(skb)) {
   839                  *(__be32 *) (&tx_desc->ctrl.vlan_tag) |= cpu_to_be32(ring->doorbell_qpn);

And then sometimes we overwrite them here.  It's not clear if this is
deliberate or accidental.  Maybe add a comment?

   840                  op_own |= htonl((bf_index & 0xffff) << 8);
   841                  /* Ensure new descirptor hits memory
   842                  * before setting ownership of this descriptor to HW */
   843                  wmb();
   844                  tx_desc->ctrl.owner_opcode = op_own;
   845  
   846                  wmb();

regards,
dan carpenter

--
To unsubscribe from this list: send the line "unsubscribe kernel-janitors" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Kernel Development]     [Kernel Announce]     [Kernel Newbies]     [Linux Networking Development]     [Share Photos]     [IDE]     [Security]     [Git]     [Netfilter]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Device Mapper]

  Powered by Linux