[openib-general] Re: [PATCH] osm: lib vendor race cause OpenSM crashes
Hal Rosenstock
halr at voltaire.com
Thu Jan 19 06:07:13 PST 2006
Hi Eitan,
On Wed, 2006-01-18 at 10:58, Eitan Zahavi wrote:
> Hi Hal
>
> We have found a race in OpenSM that can cause an active madw be
> returned during the transaction. This is a fatal high priority
> bug as it very likely cause a crash.
Good catch.
Thanks. Applied.
Patch was rejected when applied so I did it by hand. Please reverify
change.
-- Hal
> Eitan
>
> Signed-off-by: Eitan Zahavi <eitan at mellanox.co.il>
> Index: libvendor/osm_vendor_ibumad.c
> ===================================================================
> --- libvendor/osm_vendor_ibumad.c (revision 5009)
> +++ libvendor/osm_vendor_ibumad.c (working copy)
> @@ -138,14 +138,16 @@ get_madw(osm_vendor_t *p_vend, ib_net64_
> {
> umad_match_t *m, *e;
> ib_net64_t mtid = (*tid & 0xffffffff00000000llu);
> + osm_madw_t *res;
>
> cl_spinlock_acquire( &p_vend->match_tbl_lock );
> for (m = p_vend->mtbl.tbl, e = m + p_vend->mtbl.max; m < e; m++) {
> if (m->tid == mtid) {
> m->tid = 0;
> *tid = mtid;
> + res = m->v;
> cl_spinlock_release( &p_vend->match_tbl_lock );
> - return m->v;
> + return res;
> }
> }
>
>
>
More information about the general
mailing list