Version: 1
-Previous: a5d400564855dc1cb30937b31047d77da4e4f7dd
+Previous: 5374fd2591177931b3d35e45d69d61aa2f28ccd4
Head: 66840390c85647ba7eb462ca5f30b0e2cd898adb
Applied:
- join-err: 66840390c85647ba7eb462ca5f30b0e2cd898adb
Unapplied:
suse: 7076e2a00570a3cda4e4ce034419399a23ebfb0a
dev-name2ip: 8e00708e882239292492e13aa51c82042255933c
+++ /dev/null
-Bottom: 928412a7b8def95fbb0369bd768cf27c86985da4
-Top: 17ef417062286b7467e6e5a52c09169cb23128d1
-Author: Sean Hefty <sean.hefty@intel.com>
-Date: 2014-04-09 12:04:19 -0700
-
-ibacm: Fix invalid memory dereference in acm_process_join_resp
-
-If a join request fails, the dest pointer may not be initialized.
-This can result in the ibacm daemon crashing. Fix the crash and
-ensure that the multicast state is set correctly in case the
-join fails by initializing the state to ACM_INIT before sending
-the join request.
-
-Problem reported by: Kaike Wan <kaike.wan@intel.com>
-
-Signed-off-by: Sean Hefty <sean.hefty@intel.com>
-
-
----
-
-diff --git a/src/acm.c b/src/acm.c
-index 851a258..fcbe313 100644
---- a/src/acm.c
-+++ b/src/acm.c
-@@ -801,7 +801,6 @@ err2:
- ibv_destroy_ah(dest->ah);
- dest->ah = NULL;
- err1:
-- dest->state = ACM_INIT;
- lock_release(&ep->lock);
- }
-
-@@ -1568,6 +1567,7 @@ static void acm_join_group(struct acm_ep *ep, union ibv_gid *port_gid,
- acm_log(0, "%s %d pkey 0x%x, sl 0x%x, rate 0x%x, mtu 0x%x\n",
- ep->port->dev->verbs->device->name, ep->port->port_num,
- ep->pkey, sl, rate, mtu);
-+ ep->mc_dest[ep->mc_cnt].state = ACM_INIT;
- mad = (struct ib_sa_mad *) umad->data;
- acm_init_join(mad, port_gid, ep->pkey, tos, tclass, sl, rate, mtu);
- mc_rec = (struct ib_mc_member_rec *) mad->data;