From d432c9fdbcbff5ca4ebb27cd656d8b0382490595 Mon Sep 17 00:00:00 2001 From: Terry Dontje Date: Fri, 17 Jul 2009 14:54:18 +0000 Subject: [PATCH] Add asserts to catch when btl_eager_limit is smaller than the pml headers. This commit was SVN r21707. --- ompi/mca/pml/csum/pml_csum_sendreq.h | 2 ++ ompi/mca/pml/dr/pml_dr_sendreq.h | 2 ++ ompi/mca/pml/ob1/pml_ob1_sendreq.h | 2 ++ 3 files changed, 6 insertions(+) diff --git a/ompi/mca/pml/csum/pml_csum_sendreq.h b/ompi/mca/pml/csum/pml_csum_sendreq.h index 20931538c6..c37686f7a4 100644 --- a/ompi/mca/pml/csum/pml_csum_sendreq.h +++ b/ompi/mca/pml/csum/pml_csum_sendreq.h @@ -12,6 +12,7 @@ * Copyright (c) 2009 IBM Corporation. All rights reserved. * Copyright (c) 2009 Los Alamos National Security, LLC. All rights * reserved. + * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -349,6 +350,7 @@ mca_pml_csum_send_request_start_btl( mca_pml_csum_send_request_t* sendreq, size_t eager_limit = btl->btl_eager_limit - sizeof(mca_pml_csum_hdr_t); int rc; + assert(btl->btl_eager_limit >= sizeof(mca_pml_csum_hdr_t)); if( OPAL_LIKELY(size <= eager_limit) ) { switch(sendreq->req_send.req_send_mode) { case MCA_PML_BASE_SEND_SYNCHRONOUS: diff --git a/ompi/mca/pml/dr/pml_dr_sendreq.h b/ompi/mca/pml/dr/pml_dr_sendreq.h index 556ddabfc5..49287e5bec 100644 --- a/ompi/mca/pml/dr/pml_dr_sendreq.h +++ b/ompi/mca/pml/dr/pml_dr_sendreq.h @@ -9,6 +9,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2006 The Regents of the University of California. * All rights reserved. + * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -176,6 +177,7 @@ do { sendreq->req_send.req_base.req_sequence = OPAL_THREAD_ADD32(&proc->send_sequence,1); \ \ /* select a btl */ \ + assert(bml_btl->btl->btl_eager_limit >= sizeof(mca_pml_dr_hdr_t)); \ eager_limit = bml_btl->btl->btl_eager_limit - sizeof(mca_pml_dr_hdr_t); \ if(size <= eager_limit) { \ switch(sendreq->req_send.req_send_mode) { \ diff --git a/ompi/mca/pml/ob1/pml_ob1_sendreq.h b/ompi/mca/pml/ob1/pml_ob1_sendreq.h index c886d39fb6..87be2ab4a8 100644 --- a/ompi/mca/pml/ob1/pml_ob1_sendreq.h +++ b/ompi/mca/pml/ob1/pml_ob1_sendreq.h @@ -9,6 +9,7 @@ * University of Stuttgart. All rights reserved. * Copyright (c) 2004-2005 The Regents of the University of California. * All rights reserved. + * Copyright (c) 2009 Sun Microsystems, Inc. All rights reserved. * $COPYRIGHT$ * * Additional copyrights may follow @@ -348,6 +349,7 @@ mca_pml_ob1_send_request_start_btl( mca_pml_ob1_send_request_t* sendreq, size_t eager_limit = btl->btl_eager_limit - sizeof(mca_pml_ob1_hdr_t); int rc; + assert(btl->btl_eager_limit >= sizeof(mca_pml_ob1_hdr_t)); if( OPAL_LIKELY(size <= eager_limit) ) { switch(sendreq->req_send.req_send_mode) { case MCA_PML_BASE_SEND_SYNCHRONOUS: