1
1
openmpi/ompi/mca
Mark Allen d85cac8f1a fixing an unsafe usage of integer disps[] (romio321 gpfs)
There are a couple MPI_Alltoallv calls in ad_gpfs_aggrs.c where the
send/recv data comes from places like req[r].lens, and the send
buffer and send displacements for example were being calculated as
    sbuf = pick one of the reqs: req[bottom].lens
    sdisps[r] = req[r].lens - req[bottom].lens
which might be okay if the .lens was data inside of req[] so they'd
all be close to each other. But each .lens field is just a pointer
that's malloced, so those addresses can be all over the place, so the
integer-sized sdisps[] isn't safe.

I changed it to have a new extra array sbuf and rbuf for those two
Alltoallv calls, and copied the data into the sbuf from the same
locations it used to be setting up the sdisps[] at, and after the
Alltoallv I copy the data out of the new rbuf into the same
locations it used to be setting up the rdisps[] at.

For what it's worth I was able to get this to fail -np 2 on a GPFS
filesystem with hints romio_cb_write enable. I didn't whittle the
test down to something small, but it was failing in an
MPI_File_write_all call.

Signed-off-by: Mark Allen <markalle@us.ibm.com>
2019-04-23 16:01:55 -04:00
..
bml pmix: added check for pmix fence status 2018-08-06 15:01:57 +06:00
coll ompi/datatype: Use short float for MPI_REAL2 2019-02-01 13:01:10 +09:00
common common/ompio: refactor the build_io_array function 2019-04-17 14:42:33 -05:00
crcp Handle asprintf errors with opal_asprintf wrapper 2018-10-08 16:43:53 -07:00
fbtl DDN's Infinite Memory Engine support for OMPIO 2018-08-16 11:45:47 +02:00
fcoll fcoll: make vulcan the default component 2018-06-22 14:12:02 -05:00
fs ompi: cleanup various string operations 2018-10-14 16:10:20 -07:00
hook ompi/hook: plug a misc memory leak 2018-08-30 10:07:18 +09:00
io fixing an unsafe usage of integer disps[] (romio321 gpfs) 2019-04-23 16:01:55 -04:00
mtl MTL_OFI: Changed Recv cancel to be non-blocking 2019-02-14 17:07:20 -05:00
op ompi/datatype: Add ompi_mpi_short_float 2019-02-01 12:43:13 +09:00
osc OSC/UCX: correctly handle NULL origin addr and MPI_NO_OP 2019-04-17 10:30:21 +03:00
pml Merge pull request #6555 from EmmanuelBRELLE/PR-pmlob1_fix_rc_for_putfrag_when_get_failed 2019-04-22 17:19:12 -04:00
rte configury: automatically select rte/pmix runtime if ORTE project is not built 2019-02-20 13:55:55 +09:00
sharedfp sharedfp/sm and lockedfile: fix naming bug 2018-08-27 12:40:49 -05:00
topo topo/treematch: silence a hwloc related warning 2019-01-30 14:51:38 +09:00
vprotocol Handle asprintf errors with opal_asprintf wrapper 2018-10-08 16:43:53 -07:00
Makefile.am Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00
mca.h Revert "Update to sync with OMPI master and cleanup to build" 2016-11-22 15:03:20 -08:00