re: IB/mlx4: Build the port IBoE GID table properly under bonding

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

 



Hello Moni Shoua,

This is a semi-automatic email about new static checker warnings.

The patch ad4885d279b6: "IB/mlx4: Build the port IBoE GID table
properly under bonding" from Feb 5, 2014, leads to the following
Smatch complaint:

drivers/infiniband/hw/mlx4/main.c:1749 mlx4_ib_scan_netdevs()
	 error: we previously assumed 'curr_netdev' could be null (see line 1722)

drivers/infiniband/hw/mlx4/main.c
  1721	
  1722			if (curr_netdev) {
                            ^^^^^^^^^^^
Check.

  1723				port_state = (netif_running(curr_netdev) && netif_carrier_ok(curr_netdev)) ?
  1724							IB_PORT_ACTIVE : IB_PORT_DOWN;
  1725				mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
  1726			} else {
  1727				reset_gid_table(ibdev, port);
  1728			}
  1729			/* if using bonding/team and a slave port is down, we don't the bond IP
  1730			 * based gids in the table since flows that select port by gid may get
  1731			 * the down port.
  1732			 */
  1733			if (curr_master && (port_state == IB_PORT_DOWN)) {
  1734				reset_gid_table(ibdev, port);
  1735				mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
  1736			}
  1737			/* if bonding is used it is possible that we add it to masters
  1738			 * only after IP address is assigned to the net bonding
  1739			 * interface.
  1740			*/
  1741			if (curr_master && (old_master != curr_master)) {
  1742				reset_gid_table(ibdev, port);
  1743				mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
  1744				mlx4_ib_get_dev_addr(curr_master, ibdev, port);
  1745			}
  1746	
  1747			if (!curr_master && (old_master != curr_master)) {
  1748				reset_gid_table(ibdev, port);
  1749				mlx4_ib_set_default_gid(ibdev, curr_netdev, port);
                                                               ^^^^^^^^^^^
Dereferenced without checking.

  1750				mlx4_ib_get_dev_addr(curr_netdev, ibdev, port);
  1751			}

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




[Index of Archives]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Photo]     [Yosemite News]     [Yosemite Photos]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux