Message ID | 20171016142426.12814.13095.stgit@phlsvslse11.ph.intel.com (mailing list archive) |
---|---|
State | Accepted |
Headers | show |
Le 16/10/2017 à 16:24, Michael J. Ruhl a écrit : > From: Michael J. Ruhl <michael.j.ruhl@intel.com> > > Setting the provider keyword in the ibacm_opts.cfg file to something > other than 'default' will cause ibacm to segfault on startup: > > ibacm[32739]: segfault at 302e40 ip 000000000040432d > sp 00007ffe4039e1c0 error 4 in ibacm[400000+c000] > > To re-produce the segfault, change the provider keyword in > ibacm_opts.cfg from: > > provider ibacmp default > > to: > > provider ibacmp 0xFE80000000000000 > > When adding subnets to a provider subnet list, the incorrect list is > used. The list used is the provider_list (list of all providers) > rather than the (specific) provider subnet list. > > This corrupts the provider_list, and causes ibacm to crash with the > above segfault. > > Use the correct list when adding subnet information to a provider. > > Fixes: 26e05f8304a506 ("ibacm: use ccan/list.h") > Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> > Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com> For this patch only (no setup for the first one) Tested-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com> -- To unsubscribe from this list: send the line "unsubscribe linux-rdma" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Tue, 2017-10-17 at 17:00 +0200, Nicolas Morey-Chaisemartin wrote: > > Le 16/10/2017 à 16:24, Michael J. Ruhl a écrit : > > From: Michael J. Ruhl <michael.j.ruhl@intel.com> > > > > Setting the provider keyword in the ibacm_opts.cfg file to > > something > > other than 'default' will cause ibacm to segfault on startup: > > > > ibacm[32739]: segfault at 302e40 ip 000000000040432d > > sp 00007ffe4039e1c0 error 4 in ibacm[400000+c000] > > > > To re-produce the segfault, change the provider keyword in > > ibacm_opts.cfg from: > > > > provider ibacmp default > > > > to: > > > > provider ibacmp 0xFE80000000000000 > > > > When adding subnets to a provider subnet list, the incorrect list > > is > > used. The list used is the provider_list (list of all providers) > > rather than the (specific) provider subnet list. > > > > This corrupts the provider_list, and causes ibacm to crash with the > > above segfault. > > > > Use the correct list when adding subnet information to a provider. > > > > Fixes: 26e05f8304a506 ("ibacm: use ccan/list.h") > > Reviewed-by: Mike Marciniszyn <mike.marciniszyn@intel.com> > > Signed-off-by: Michael J. Ruhl <michael.j.ruhl@intel.com> > > For this patch only (no setup for the first one) > > Tested-by: Nicolas Morey-Chaisemartin <nmoreychaisemartin@suse.com> Thanks, series applied.
diff --git a/ibacm/src/acm.c b/ibacm/src/acm.c index 1ccef94..a67001d 100644 --- a/ibacm/src/acm.c +++ b/ibacm/src/acm.c @@ -2587,8 +2587,8 @@ static void acm_load_prov_config(void) return; } subnet->subnet_prefix = htobe64(prefix); - list_add_after(&provider_list, &prov->entry, - &subnet->entry); + list_add_tail(&prov->subnet_list, + &subnet->entry); } } }