> > Roland, there's a race here where ucma_set_event_context() copies ctx->uid
> > to
> the event structure outside of the mutex. Once the mutex is acquired,
> ctx->uid
> is checked. However, the uid could have changed between saving it off to the
> event and checking it.
>
> OK. So then this
On Sat, Aug 4, 2012 at 11:48 PM, Hefty, Sean wrote:
> Roland, there's a race here where ucma_set_event_context() copies ctx->uid to
> the event structure outside of the mutex. Once the mutex is acquired,
> ctx->uid is checked. However, the uid could have changed between saving it
> off to the
> diff --git a/drivers/infiniband/core/ucma.c b/drivers/infiniband/core/ucma.c
> index 8002ae6..88c50d2 100644
> --- a/drivers/infiniband/core/ucma.c
> +++ b/drivers/infiniband/core/ucma.c
> @@ -267,6 +267,7 @@ static int ucma_event_handler(struct rdma_cm_id *cm_id,
> if (!uevent)
>
Fix for ucma context uid=0, causing iWarp RDMA applications to fail in
connection establishment.
This is a new patch addressing the librdmacm segfault when
RDMA_CM_EVENT_ESTABLISHED event shows up with evt->id_priv = NULL
In the ucma_event_handler(), ctx->file->mut is moved up to prevent race
c