Signed-off-by: Hal Rosenstock <[email protected]>
---
diff --git a/opensm/osm_sa_multipath_record.c b/opensm/osm_sa_multipath_record.c
index e89c93a..7083b04 100644
--- a/opensm/osm_sa_multipath_record.c
+++ b/opensm/osm_sa_multipath_record.c
@@ -1587,6 +1622,14 @@ void osm_mpr_rcv_process(IN void *context, IN void *data)
                }
        }
 
+       /* Make sure either none or both ServiceID parameters are supplied */
+       if ((p_sa_mad->comp_mask & IB_MPR_COMPMASK_SERVICEID) != 0 &&
+           (p_sa_mad->comp_mask & IB_MPR_COMPMASK_SERVICEID) !=
+            IB_MPR_COMPMASK_SERVICEID) {
+               osm_sa_send_error(sa, p_madw, IB_SA_MAD_STATUS_INSUF_COMPS);
+               goto Exit;
+       }
+
        cl_qlist_init(&pr_list);
 
        /*
--
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

Reply via email to