Endpoints are not maintained in a list associated with a provider. The list entry for an endpoint is used to track connection requests with listens. When an endpoint is unassociated from a listen, it is removed from the listen list. Trying to remove it from a list during provider cleanup results in a duplicate removal, can corrupt the listen list, and may access freed memory.
Signed-off-by: Sean Hefty <[email protected]> --- This patch should go into winof 2.1 Index: core/winverbs/kernel/wv_provider.c =================================================================== --- core/winverbs/kernel/wv_provider.c (revision 2373) +++ core/winverbs/kernel/wv_provider.c (working copy) @@ -102,7 +102,6 @@ } } while ((ep = IndexListRemoveHead(&pProvider->EpIndex)) != NULL) { - RemoveEntryList(&ep->Entry); WvEpFree(ep); } while ((ah = IndexListRemoveHead(&pProvider->AhIndex)) != NULL) {
wv-ep.diff
Description: Binary data
_______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
