Re: [BUGFIX] dm-crypt: Fix a bug of async cryption complete function

From: Herbert Xu
Date: Fri Feb 27 2009 - 06:56:56 EST


On Fri, Feb 27, 2009 at 12:52:05PM +0100, Milan Broz wrote:
> Herbert Xu wrote:
> > On Fri, Feb 27, 2009 at 04:56:11PM +0800, Huang Ying wrote:
> >> @@ -830,7 +838,7 @@ static void kcryptd_async_done(struct cr
> >> return;
> >> }
> >>
> >> - mempool_free(ablkcipher_request_cast(async_req), cc->req_pool);
> >> + mempool_free(dmreq->req, cc->req_pool);
> >
> > Why do we need all this complexity? Can't just fix it by using
> > cc->req?
>
> No. There can be parallel req allocated, also cc->req can be NULL.
> (seems that these structs are overcomplicated already:-)

Fair enough. However we still shouldn't need to have dmreq->req
since

dmreq->req == (char *)dmreq - sizeof(dmreq->req)

In fact just pass the request itself as data and derive dmreq
from that.

Cheers,
--
Visit Openswan at http://www.openswan.org/
Email: Herbert Xu ~{PmV>HI~} <herbert@xxxxxxxxxxxxxxxxxxx>
Home Page: http://gondor.apana.org.au/~herbert/
PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt
--
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/