]> git.openfabrics.org - ~shefty/rdma-win.git/commitdiff
dapl: quick fix for wrong private data size
authorSean Hefty <sean.hefty@intel.com>
Sat, 23 Jan 2010 06:29:39 +0000 (22:29 -0800)
committerSean Hefty <sean.hefty@intel.com>
Sat, 23 Jan 2010 06:29:39 +0000 (22:29 -0800)
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 <sean.hefty@intel.com>
trunk/ulp/dapl2/dapl/openib_cma/cm.c

index c52e71644defc5506175350b4daa793bf35a3ec5..0212c0e2b910e07995fb7ed987dea7427b375bbc 100644 (file)
@@ -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;
 }
 
 /*