Re: [PATCH v2] crypto: remove instance when test failed

From: Stephan Mueller
Date: Fri Apr 03 2015 - 11:17:20 EST


Am Freitag, 3. April 2015, 17:58:28 schrieb Herbert Xu:

Hi Herbert,

> On Thu, Apr 02, 2015 at 07:05:27PM +0200, Stephan Mueller wrote:
> > diff --git a/crypto/algapi.c b/crypto/algapi.c
> > index 83b04e0..215c604 100644
> > --- a/crypto/algapi.c
> > +++ b/crypto/algapi.c
> >
> > @@ -545,6 +545,10 @@ unlock:
> > goto err;
> >
> > crypto_wait_for_test(larval);
> >
> > +
> > + /* Remove instance if test failed */
> > + if (!(inst->alg.cra_flags & CRYPTO_ALG_TESTED))
> > + crypto_unregister_instance(inst);
>
> Unfortunately I don't think this is safe because the moment you
> release the mutex the instance can be freed. So you'll need to
> hold a reference to it.
>
> Cheers,

Wpuldn't crypto_del_alg suffer from the same issue? I see that the cra_refcnt
is checked. But I guess there would be the same kind of race?

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