[ofa-general] Re: [PATCH] opensm/osm_sa_mcmember_record: return a real port JoinState on update

Hal Rosenstock hal.rosenstock at gmail.com
Thu Nov 13 05:38:57 PST 2008


On Wed, Nov 12, 2008 at 9:14 PM, Sasha Khapyorsky <sashak at voltaire.com> wrote:
>
> When port JoinState is updated by MCMember leave request response should
> have a real (new) JoinState. This fix addresses bug#1373.
>
> Signed-off-by: Sasha Khapyorsky <sashak at voltaire.com>
> ---
>  opensm/opensm/osm_sa_mcmember_record.c |    4 +---
>  1 files changed, 1 insertions(+), 3 deletions(-)
>
> diff --git a/opensm/opensm/osm_sa_mcmember_record.c b/opensm/opensm/osm_sa_mcmember_record.c
> index 878d21e..4ca5896 100644
> --- a/opensm/opensm/osm_sa_mcmember_record.c
> +++ b/opensm/opensm/osm_sa_mcmember_record.c
> @@ -1095,12 +1095,10 @@ __osm_mcmr_rcv_leave_mgrp(IN osm_sa_t * sa,
>                goto Exit;
>        }
>
> -       mcmember_rec.scope_state = p_mcm_port->scope_state;
>        /* remove port or update join state */
>        removed = osm_mgrp_remove_port(sa->p_subn, sa->p_log, p_mgrp, p_mcm_port,
>                                       p_recvd_mcmember_rec->scope_state&0x0F);
> -       if (removed)
> -               mcmember_rec.scope_state = p_mcm_port->scope_state;
> +       mcmember_rec.scope_state = p_mcm_port->scope_state;

In looking at this, this is really only compliant if done for trusted
requests (and there are other trust issues with SA MCMemberRecord).
This issue clearly predates the patch.

-- Hal

>
>        CL_PLOCK_RELEASE(sa->p_lock);
>
> --
> 1.6.0.3.517.g759a
>
>



More information about the general mailing list