From e91637f797fd38ddec0675d43088600f82c10f75 Mon Sep 17 00:00:00 2001 From: Sean Hefty Date: Fri, 22 Jan 2010 22:29:39 -0800 Subject: [PATCH] dapl: quick fix for wrong private data size DAPl expects the private data size to be up to 256 bytes, but on windows the private data size is limited to 56 bytes. As a result, DAPL can access memory beyond the end of what's allocated. A more 'correct' fix is being submitted upstream to dapl. This is a simpler fix for the Windows 2.2 release only. Signed-off-by: Sean Hefty --- trunk/ulp/dapl2/dapl/openib_cma/cm.c | 30 +--------------------------- 1 file changed, 1 insertion(+), 29 deletions(-) diff --git a/trunk/ulp/dapl2/dapl/openib_cma/cm.c b/trunk/ulp/dapl2/dapl/openib_cma/cm.c index c52e7164..0212c0e2 100644 --- a/trunk/ulp/dapl2/dapl/openib_cma/cm.c +++ b/trunk/ulp/dapl2/dapl/openib_cma/cm.c @@ -1023,35 +1023,7 @@ dapls_ib_cm_remote_addr(IN DAT_HANDLE dat_handle, OUT DAT_SOCK_ADDR6 * raddr) int dapls_ib_private_data_size(IN DAPL_PRIVATE * prd_ptr, IN DAPL_PDATA_OP conn_op, IN DAPL_HCA * hca_ptr) { - int size; - - if (hca_ptr->ib_hca_handle->device->transport_type - == IBV_TRANSPORT_IWARP) - return (IWARP_MAX_PDATA_SIZE - sizeof(struct dapl_pdata_hdr)); - - switch (conn_op) { - - case DAPL_PDATA_CONN_REQ: - size = IB_MAX_REQ_PDATA_SIZE; - break; - case DAPL_PDATA_CONN_REP: - size = IB_MAX_REP_PDATA_SIZE; - break; - case DAPL_PDATA_CONN_REJ: - size = IB_MAX_REJ_PDATA_SIZE - sizeof(struct dapl_pdata_hdr); - break; - case DAPL_PDATA_CONN_DREQ: - size = IB_MAX_DREQ_PDATA_SIZE; - break; - case DAPL_PDATA_CONN_DREP: - size = IB_MAX_DREP_PDATA_SIZE; - break; - default: - size = 0; - - } /* end case */ - - return size; + return RDMA_MAX_PRIVATE_DATA; } /* -- 2.46.0