Skip to content

Conversation

@wzamazon
Copy link
Contributor

Currently, mca_btl_ofi_put (get, aop, afop, acswp) will allocate
a mca_btl_ofi_rdma_completion_t object and use it as the context
for fi_write/fi_read/fi_atomic/fi_fetch_atomic/fi_compare_atomic.

In normal code path, this completion object when processing completion
entry. However, when error happened when calling

fi_write/fi_read/fi_atomic/fi_fetch_atomic/fi_compare_atomic,

there will be no completion entry from libfabric, in this case the
completion object's memory is leaked.

This patch address the issue by calling opal_free_list_return() in
the error handling code path.

Signed-off-by: Wei Zhang [email protected]

Currently, mca_btl_ofi_put (get, aop, afop, acswp) will allocate
a mca_btl_ofi_rdma_completion_t object and use it as the context
for fi_write/fi_read/fi_atomic/fi_fetch_atomic/fi_compare_atomic.

In normal code path, this completion object when processing completion
entry. However, when error happened when calling

fi_write/fi_read/fi_atomic/fi_fetch_atomic/fi_compare_atomic,

there will be no completion entry from libfabric, in this case the
completion object's memory is leaked.

This patch address the issue by calling opal_free_list_return() in
the error handling code path.

Signed-off-by: Wei Zhang <[email protected]>
@wzamazon wzamazon requested a review from rajachan December 22, 2020 21:46
Copy link
Member

@rajachan rajachan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will apply to 4.1.x as well, right? Can you cherry-pick to that branch as well?

@rajachan rajachan merged commit c752534 into open-mpi:master Dec 23, 2020
@wzamazon
Copy link
Contributor Author

Thanks for merging! will open PR against other branch

@wzamazon
Copy link
Contributor Author

PR to 4.1.x: #8318

4.0.x branch does not seem to have btl/ofi component though.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants