osm_link_mgr.c: fix uninitialized variable usage
PATCH 1/2 osm_link_mgr.c: fix uninitialized variable usage
From: Alex Netes <alexne-VPRAkNaXOzVWk0Htik3J/[email protected]>
PortInfo may be sent without the correct M_Key
--- opensm/osm_link_mgr.c | 16 +++++++++++----- 1 files changed, 11 insertions(+), 5 deletions(-)
opensm/osm_link_mgr.c +11 -5
@@ -149,6 +149,8 @@ static int link_mgr_set_physp_pi(osm_sm_t * sm, IN osm_physp_t * p_physp, goto Exit; } + physp0 =osm_node_get_physp_ptr (p_physp->p_node,0 ); +if (ib_switch_info_is_enhanced_port0 (&p_node->sw->switch_info) == FALSE) {
@@ -190,6 +192,13 @@ static int link_mgr_set_physp_pi(osm_sm_t * sm, IN osm_physp_t * p_physp, p_pi->state_info2 =0x02 ;ib_port_info_set_port_state (p_pi, port_state); +/* Determine ports' M_Key */ +if (osm_node_get_type (p_physp->p_node) ==IB_NODE_TYPE_SWITCH && +osm_physp_get_port_num (p_physp) !=0 ) + m_key =ib_port_info_get_m_key (&physp0->port_info); +else + m_key =ib_port_info_get_m_key (p_pi); +/* Check whether this is base port0 smsl handling only */ if (port_num ==0 && esp0 == FALSE) {ib_port_info_set_master_smsl (p_pi, smsl);
@@ -369,13 +378,10 @@ static int link_mgr_set_physp_pi(osm_sm_t * sm, IN osm_physp_t * p_physp,if (osm_node_get_type (p_physp->p_node) ==IB_NODE_TYPE_SWITCH &&osm_physp_get_port_num (p_physp) !=0 ) { - physp0 =osm_node_get_physp_ptr (p_physp->p_node,0 ); cap_mask = physp0->port_info.capability_mask; - m_key =ib_port_info_get_m_key (&physp0->port_info); - }else { + }else cap_mask = p_pi->capability_mask; - m_key =ib_port_info_get_m_key (p_pi); - } +if (cap_mask &IB_PORT_CAP_HAS_EXT_SPEEDS ) issue_ext =1 ;
Signature · 6 lines
1.7.8.2 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html