Both SGIDCount and DGIDCount are required components Signed-off-by: Hal Rosenstock <hal@xxxxxxxxxxxx> --- diff --git a/opensm/osm_sa_multipath_record.c b/opensm/osm_sa_multipath_record.c index e89c93a..955c994 100644 --- a/opensm/osm_sa_multipath_record.c +++ b/opensm/osm_sa_multipath_record.c @@ -1566,7 +1594,14 @@ void osm_mpr_rcv_process(IN void *context, IN void *data) osm_dump_multipath_record_v2(sa->p_log, p_mpr, FILE_ID, OSM_LOG_DEBUG); } + /* Make sure required components (S/DGIDCount) are supplied */ + if (!(p_sa_mad->comp_mask & IB_MPR_COMPMASK_SGIDCOUNT) || + !(p_sa_mad->comp_mask & IB_MPR_COMPMASK_DGIDCOUNT)) { + osm_sa_send_error(sa, p_madw, IB_SA_MAD_STATUS_INSUF_COMPS); + goto Exit; + } + /* Validate rate if supplied */ if ((p_sa_mad->comp_mask & IB_MPR_COMPMASK_RATESELEC) && (p_sa_mad->comp_mask & IB_MPR_COMPMASK_RATE)) { rate = ib_multipath_rec_rate(p_mpr); -- 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