From: Sean Hefty Date: Wed, 16 Apr 2014 06:31:05 +0000 (-0700) Subject: commit X-Git-Url: https://openfabrics.org/gitweb/?a=commitdiff_plain;h=250e11da88dd9093047b15e3552429d7c9dad519;p=~shefty%2Fibacm.git commit --- diff --git a/meta b/meta index f7775b6..492b1cb 100644 --- a/meta +++ b/meta @@ -1,8 +1,7 @@ Version: 1 -Previous: a5d400564855dc1cb30937b31047d77da4e4f7dd +Previous: 5374fd2591177931b3d35e45d69d61aa2f28ccd4 Head: 66840390c85647ba7eb462ca5f30b0e2cd898adb Applied: - join-err: 66840390c85647ba7eb462ca5f30b0e2cd898adb Unapplied: suse: 7076e2a00570a3cda4e4ce034419399a23ebfb0a dev-name2ip: 8e00708e882239292492e13aa51c82042255933c diff --git a/patches/join-err b/patches/join-err deleted file mode 100644 index 71c4473..0000000 --- a/patches/join-err +++ /dev/null @@ -1,40 +0,0 @@ -Bottom: 928412a7b8def95fbb0369bd768cf27c86985da4 -Top: 17ef417062286b7467e6e5a52c09169cb23128d1 -Author: Sean Hefty -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 - -Signed-off-by: Sean Hefty - - ---- - -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;