[PATCH 1/7] drivers/infiniband: Release mutex in error handling code - Kernel

This is a discussion on [PATCH 1/7] drivers/infiniband: Release mutex in error handling code - Kernel ; From: Julia Lawall The mutex is released on a successful return, so it would seem that it should be released on an error return as well. The semantic patch that makes this change is as follows: ( http://www.emn.fr/x-info/coccinelle/ ) // ...

+ Reply to Thread
Results 1 to 3 of 3

Thread: [PATCH 1/7] drivers/infiniband: Release mutex in error handling code

  1. [PATCH 1/7] drivers/infiniband: Release mutex in error handling code

    From: Julia Lawall

    The mutex is released on a successful return, so it would seem that it
    should be released on an error return as well.

    The semantic patch that makes this change is as follows:
    (http://www.emn.fr/x-info/coccinelle/)

    //
    @@
    expression l;
    @@

    mutex_lock(l);
    .... when != mutex_unlock(l)
    when any
    when strict
    (
    if (...) { ... when != mutex_unlock(l)
    + mutex_unlock(l);
    return ...;
    }
    |
    mutex_unlock(l);
    )
    //


    Signed-off-by: Julia Lawall

    ---
    diff -u -p a/drivers/infiniband/hw/ehca/ipz_pt_fn.c b/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    --- a/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    +++ b/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    @@ -163,6 +163,7 @@ static int alloc_small_queue_page(struct

    out:
    ehca_err(pd->ib_pd.device, "failed to allocate small queue page");
    + mutex_unlock(&pd->lock);
    return 0;
    }

    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  2. Re: [PATCH 1/7] drivers/infiniband: Release mutex in error handling code

    > --- a/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    > +++ b/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    > @@ -163,6 +163,7 @@ static int alloc_small_queue_page(struct
    >
    > out:
    > ehca_err(pd->ib_pd.device, "failed to allocate small queue page");
    > + mutex_unlock(&pd->lock);
    > return 0;
    > }


    Thanks, looks obviously correct. ehca guys, I will queue this for my
    next pull request to Linus; please let me know if you see a problem and
    want me to drop it.

    - R.
    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

  3. Re: [PATCH 1/7] drivers/infiniband: Release mutex in error handling code

    Roland and Julia,
    Looks good to me. Thanks for pointing this out.
    Nam

    Roland Dreier wrote on 21.07.2008 18:25:07:

    > > --- a/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    > > +++ b/drivers/infiniband/hw/ehca/ipz_pt_fn.c
    > > @@ -163,6 +163,7 @@ static int alloc_small_queue_page(struct
    > >
    > > out:
    > > ehca_err(pd->ib_pd.device, "failed to allocate small queue page");
    > > + mutex_unlock(&pd->lock);
    > > return 0;
    > > }

    >
    > Thanks, looks obviously correct. ehca guys, I will queue this for my
    > next pull request to Linus; please let me know if you see a problem and
    > want me to drop it.
    >
    > - R.


    --
    To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
    the body of a message to majordomo@vger.kernel.org
    More majordomo info at http://vger.kernel.org/majordomo-info.html
    Please read the FAQ at http://www.tux.org/lkml/

+ Reply to Thread