svn commit: r326124 - projects/bsd_rdma_4_9/sys/dev/iser

Hans Petter Selasky hselasky at FreeBSD.org
Thu Nov 23 12:25:12 UTC 2017


Author: hselasky
Date: Thu Nov 23 12:25:11 2017
New Revision: 326124
URL: https://svnweb.freebsd.org/changeset/base/326124

Log:
  The __internal_mr is freed as part of the protection domain, pd.
  There is no need to free this mr. This fixes an issue accessing
  freed memory in ISER.
  
  Sponsored by:	Mellanox Technologies

Modified:
  projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c

Modified: projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c
==============================================================================
--- projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c	Thu Nov 23 11:40:16 2017	(r326123)
+++ projects/bsd_rdma_4_9/sys/dev/iser/iser_verbs.c	Thu Nov 23 12:25:11 2017	(r326124)
@@ -262,12 +262,10 @@ iser_create_device_ib_res(struct iser_device *device)
 	INIT_IB_EVENT_HANDLER(&device->event_handler, device->ib_device,
 				iser_event_handler);
 	if (ib_register_event_handler(&device->event_handler))
-		goto handler_err;
+		goto tq_err;
 
 	return (0);
 
-handler_err:
-	ib_dereg_mr(device->mr);
 tq_err:
 	for (i = 0; i < device->comps_used; i++) {
 		struct iser_comp *comp = &device->comps[i];
@@ -306,7 +304,6 @@ iser_free_device_ib_res(struct iser_device *device)
 	}
 
 	(void)ib_unregister_event_handler(&device->event_handler);
-	(void)ib_dereg_mr(device->mr);
 	(void)ib_dealloc_pd(device->pd);
 
 	free(device->comps, M_ISER_VERBS);


More information about the svn-src-projects mailing list