Signed-off-by: Hal Rosenstock <h...@mellanox.com> --- opensm/osm_sa_path_record.c | 12 +++++++++++- 1 files changed, 11 insertions(+), 1 deletions(-)
diff --git a/opensm/osm_sa_path_record.c b/opensm/osm_sa_path_record.c index 09dcaff..393d78e 100644 --- a/opensm/osm_sa_path_record.c +++ b/opensm/osm_sa_path_record.c @@ -1604,7 +1604,7 @@ void osm_pr_rcv_process(IN void *context, IN void *data) const ib_gid_t *p_dgid = NULL; const osm_port_t *p_src_port, *p_dest_port; osm_port_t *requester_port; - uint8_t rate; + uint8_t rate, mtu; OSM_LOG_ENTER(sa->p_log); @@ -1645,6 +1645,16 @@ void osm_pr_rcv_process(IN void *context, IN void *data) goto Exit; } } + /* Validate MTU if supplied */ + if ((p_sa_mad->comp_mask & IB_PR_COMPMASK_MTUSELEC) && + (p_sa_mad->comp_mask & IB_PR_COMPMASK_MTU)) { + mtu = ib_path_rec_mtu(p_pr); + if (!ib_mtu_is_valid(mtu)) { + osm_sa_send_error(sa, p_madw, + IB_SA_MAD_STATUS_REQ_INVALID); + goto Exit; + } + } cl_qlist_init(&pr_list); -- 1.7.6.1 -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majord...@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html