The winverbs PD structure contains both an event and a guarded mutex. Both must be allocated as part of resident memory, or vague system corruptions may occur if their memory is paged out.
The fix is to allocate the PD structure from NonPagedPool. Signed-off-by: Sean Hefty <[email protected]> --- This fix needs to go into winof 2.1 Index: core/winverbs/kernel/wv_pd.c =================================================================== --- core/winverbs/kernel/wv_pd.c (revision 2342) +++ core/winverbs/kernel/wv_pd.c (working copy) @@ -74,7 +74,7 @@ ib_api_status_t ib_status; WV_PROTECTION_DOMAIN *pd; - pd = ExAllocatePoolWithTag(PagedPool, sizeof(WV_PROTECTION_DOMAIN), 'dpvw'); + pd = ExAllocatePoolWithTag(NonPagedPool, sizeof(WV_PROTECTION_DOMAIN), 'dpvw'); if (pd == NULL) { return STATUS_NO_MEMORY; }
wv-pd.diff
Description: Binary data
_______________________________________________ ofw mailing list [email protected] http://lists.openfabrics.org/cgi-bin/mailman/listinfo/ofw
